版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 软件介绍第1页,共66页。第二章第二章 SASSAS软件介绍软件介绍SAS系统概述初识SAS SAS程序的使用常识 SAS数据步SAS程序的过程步SAS语言入门SAS数据集操作第2页,共66页。一、SAS系统概述oSAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。SAS现在的版本为9.1版,大小约为1.5G。o经过多年的发展,SAS已
2、被全世界120多个国家和地区的近三万家机构所采用,直接用户则超过三百万人,遍及金融、医药卫生、生产、运输、通讯、政府和教育科研等领域。第3页,共66页。o在英美等国,能熟练使用SAS进行统计分析是许多公司和科研机构选材的条件之一。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统,并在9697年度被评选为建立数据库的首选产品。堪称统计软件界的巨无霸。o在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审批程序中,新药试验结果的统计分析规定只能用SAS进行,其他软件的计算结果一律无效!哪怕只是简单的均数和标准差也不行!由此可见SAS的权威地位。 第4页,共66页。o SAS系统是
3、集数据分析、生成报表于一体的一种集成软件系统。它由基本部分和外加模块组成 :基本部分: BASE SAS 部分;统计分析计算部分: SAS/STAT ;绘图部分: SAS/GRAPH ;矩阵运算部分: SAS/IML ;运筹学和线性规划: SAS/OR ;经济预测和时间序列分析: SAS/ETS ;质量控制模块:SAS/QC快速数据处理的交互式菜单系统模块: SAS/FSP交互式全屏幕软件应用系统模块: SAS/AF第5页,共66页。二、初识二、初识SAS o安装SAS9.1o几个注意点:o修改系统时间到2006年12月31日前 o选择许可软件 第6页,共66页。o启动SAS第7页,共66页。
4、oSAS有三个最重要的子窗口:程序窗口(PROGRAM EDITOR)、运行记录窗口(LOG)、输出窗口(OUTPUT)。 o简单运行样例简单运行样例 o假设我们有一个班学生的数学成绩和语文成绩,数学满分为100,语文满分为120,希望计算学生的平均分数(按百分制)并按此排名,可以在程序窗口输入此程序:第8页,共66页。title 0901班学生成绩排名班学生成绩排名; libname a d:; /*环境设置语句环境设置语句 */data a.c0901; input name $ 1-10 sex $ math chinese; avg = math*0.5 + chinese/120*1
5、00*0.5;cards; 李明李明 男男 92 98 张红艺张红艺 女女 89 106 王思明王思明 男男 86 90 张聪张聪 男男 98 109 刘颍刘颍 女女 80 110 ; run; proc print;run; proc sort data=a.c0901; by descending avg; /*按平均成绩降序排序按平均成绩降序排序 */run; proc print;run; 第9页,共66页。o实际上,上述程序是文本,完全可以在任何文本编辑工具中输入,比如Windows中的记事本,甚至Word也可用来输入这样包含中文的程序。输入后使用复制复制、粘贴命令将输入的程序粘贴到
6、SAS系统程序窗口。(即在记事本中复制输入的程序,然后在SAS系统程序窗口中使用粘贴命令,把程序复制到SAS中)。 o要运行此程序,只要用鼠标单击工具栏的提交(Submit)图标 ,或用Run菜单下的Submit命令,或者直接按下F8键,就可运行程序。如果选中某一段程序,然后进行调用,则系统只执行被选中的部分。第10页,共66页。o运行后,输出窗口出现如下结果: 0901班学生成绩排名 Obs name sex math chinese avg 1 李明 男 92 98 86.8333 2 张红艺 女 89 106 88.6667 3 王思明 男 86 90 80.5000 4 张聪 男 98
7、 109 94.4167 5 刘颍 女 80 110 85.8333 运行记录窗口则记录每段程序的运行情况、所用时间、生成数据保存情况。如果有错误还会用红色指示错误。 第11页,共66页。三、三、SAS程序的使用常识程序的使用常识 从上面的例子程序可以看出SAS程序的一些特点。oSAS程序的基本结构oSAS程序由语句组成,语句用分号结束。o语句一般由特定的关键词开始,语句中可包含变量名、运算符等,它们以空格分隔。oSAS对语句所占的行数无限制,一个语句可占多行,同样,多个语句也可占一行。 oSAS对程序的书写格式比较灵活,大小写一般不区分(字符串中要区分大小写);第12页,共66页。oSAS程
8、序的程序注释有以下两种格式:增强程序可读性o注释语句注释语句:以星号“*”开始,可占多行,以分号“;”结束。/*该段有待核实*/o注释段落:注释段落:用“/*”和“*/”包括起来的任何字符,可占多行。oSAS程序的程序组成 SAS程序可以非常复杂,但其基本结构一般由数个完成单个动作的环境设置语句环境设置语句和程序步程序步构成。而程序步分为两种,一种叫数据步(data step),一种叫过程步(proc step),分别以DATA语句和PROC语句开始。数据步和过程步由若干个语句组成,一般以RUN语句结束。 第13页,共66页。o数据集(dataset)和库 SAS数据集(SAS Dataset
9、s)可以看作由若干行和若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间值、字符串、货币值等等。比如,前面的例子生成了一个名为C0401的数据集,它的逻辑形式如下表:第14页,共66页。NAMESEXMATHCHINESEAVG李明男929886.8333张红艺女8910688.6667王思明男869080.5000张聪男9810994.4167刘颍女8011085.8333表1数据集的逻辑形式第15页,共66页。o数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。在数据库术语中一个观测称作一个记录,一个变量称作一个域
10、。SAS数据集等价于关系数据库系统中的一个表,实际上一个SAS数据集有时也称作一个表。o从上面看出,数据集要有名字,变量要有名字,所以SAS中对名字(数据集名、变量名、数据库名,等等)有约定:SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大写字母和小写字母不区分。比如,name,abc,aBC,x1,year12,_NULL_等是合法的名字,且abc和aBC是同一个名字,而class-1(不能有减号)、a bit(不能有空格)、serial#(不能有特殊字符)、Documents (超长)等不是合法的名字。 第16页,共66页。o逻辑库SAS系统将所
11、使用的文件以库的形式组织起来,而数据集则存放在一个库中,这个库就称为逻辑库。前面见到过的libname命令就用于指定库标记。其一般格式为:Libname库名称库名称文件夹位置文件夹位置选项;选项; 引用在逻辑库中数据集时要使用两级名称来指定,第一级为库名称,第二级为数据集名,中间用句点“.”隔开,即: 库库名称名称.数据集名数据集名libname a d:; data a.c0901;proc sort data=a.c0901; 第17页,共66页。o通过SAS命令菜单方式建立逻辑库名与子目录的连接:操作过程为:进入Explorer窗口/右击(Library)图标/选择“new”命令/在弹出
12、的窗口(见图1-4)的name栏中输入库名/在Path栏中输入目录路径或点击右侧的“Browse”按钮选择磁盘中的文件夹/选中右侧的“Enable at startup”使其永久有效,然后点“OK”完成新库名的定义。第18页,共66页。第19页,共66页。oSAS文件分类 SAS文件本质上可以分为临时文件和永久文件两类:临时文件在退出SAS系统时自动被删除,永久文件则会长期保留在磁盘中。所以,在应用过程中,我们通常把中间结果数据集或练习数据集作为临时数据集文件保存,而将以后需要使用的数据集保存为永久数据集。第20页,共66页。o永久数据集操作永久数据集操作o1.生成永久数据集的实例如下:把数据
13、集放入指定的子目录d:SAS2007中,在程序中可以用如下语句建立逻辑库,除work逻辑库以外的其它逻辑库中的数据集,都可以做为永久数据集保存: libname mysas d:SAS2007; data mysas.stu01; proc sort data= mysas.stu01;o2.对于已经事先创立的永久SAS数据集,如果已建立了逻辑库,当需要在某个过程步中调用它时,那么我们不必重复定义逻辑库,而需要在该过程步中加上选项:data= mySAS.stu ,以指明要使用的数据集。第21页,共66页。四、四、SAS 数据步简介数据步简介DATA步基本结构: DATA 数据集名 ; INP
14、UT 变量名1$ 变量名2$ 变量名n$; CARDS; 源数据行 ; RUN; 备注:当数据中有“;”时,cards改为cards4,数据以“;”作为结束对应第22页,共66页。Data步语句说明:oSAS处理的数据可分为:字符型、数值型两大类,日期型数据属于数值型。o字符型变量名后必须使用$说明符。o每行数据的行尾不能有分号“;”,但数据行 结束后的”;”分号必须单独占一行。o变量名不分大小写。第23页,共66页。DATA步中的INPUT 语句oINPUT 语句具有的四种使用格式:1) 列标识方式 (COLUMN)格式:INPUT 变量名1$ 起始列-终止列 变量名2$ 起始列-终止列变量
15、名n$ 起始列-终止列;功能:输入值严格按指定列号顺序获取。注意:字符型数据中可镶嵌空格,数据最长为200个字符,字符型变量要跟一个$字符 。例如: INPUT NAME $ 1-12 SEX $ 13 AGE 14-15 ;第24页,共66页。2)自由格式 : 格式:INPUT 变量名1$ 变量名2$变量n$;语句的功能与特点:说明:数据项之间要至少用一个空格分隔。 字符型数据中间不能有空格,且最长为200个字符 。用小数点 . 表示数值型数据的缺失值 。每个字段变量要按顺序排列 。例如: INPUT NAME $ SEX $ AGE ;第25页,共66页。3) 格式输入: 格式:INPUT
16、 指针控制 变量输入格式描述符; 指针控制: N 指针转向第N列; (绝对移动) + N 指针向右移N列 ; (相对移动)常用SAS变量输入格式描述符说明:W. :宽度为 W 位标准数字,应用实例: 8. ,指数值型数据长为8个字符,且小数点位为零位。W.D :含小数点的标准数字,数字总长度为W位,其中包括小数点占1位,小数占D位,以及正负符号占一位,所以所描述数据的整数部分的位数最多为W-D-2 位。应用实例: 10.3 ,效果为523458.356 。第26页,共66页。o$W.:长度为W的标准字符串,应用实例:$12. ,指字符串长度为12位。oCOMMAW.D :长度位为W的数字,其中
17、小数点占一位,小数部分占D位,正负号占一位,数据的整数部分每3位有一个逗号分隔符,逗号也占字符串宽度。应用实例: COMMA12.1 ,效果为:63,145,690.5 。o$CHARW. :宽度为W,含有空格的字符串。有格式说明就不需用列方式,列方式与格式方式只能选其一,不能两者同用。o例: INPUT NAME $12. 14 SEX $ +2 AGE 2. 25 SALE COMMA10.2 ;第27页,共66页。o日期数据格式: SAS系统日期数据以1960年1月1日为起始日,系统以距离起始日期的总天数记录实际日期。例如1962年3月20日被存储为809,表示此日期与1960年1月1日
18、相距809天。所以,当变量的值为日期类型或时间类型时,用户必须规定变量的输入和输出格式。例如1997年12月20日,可用下列日期格式表示:MMDDYY6. 月日年6位 例: 122097MMDDYY8. 月日年8位 例: 12/20/97 或12-20-97 或12201997DDMMYY6. 日月年6位 例: 201297YYMMDD6. 年月日6位 例: 971220DATE7. 日月年7位 例: 20DEC97DATE9. 日月年9位 例: 2ODEC1997 MMDDYY10. 月日年10位 例: 12/20/1997 或 12-20-1997第28页,共66页。例: 日期与时间的格式
19、应用:DATA DAYS ; INPUT BIRTHDAY MMDDYY8. +1 INDAY MMDDYY8. +1 TESTDAY DATE9.; CARDS; 08-04-83 07/14/90 20SEP1990 11-14-83 07/26/90 20SEP1990 ;注意:输出的日期格式长度一般应与日期的输入格式一致。 如输入格式为MMDDYY6. ,输出格式可以是MMDDYY6. 或MMDDYY8. 。如果输出格式为MMDDYY10. ,就会产生输出错误。第29页,共66页。4) 组格式输入:组格式输入语法格式: INPUT (变量1-变量N ) (输入格式描述符); 例a:IN
20、PUT (x1-x5) (4.) ; /*变量x1-x5最多为4位整数*/ 例b:INPUT (aa bb ) ($8. ,7.2 ) ;(变量aa为8位长的字符型数据,变量bb为7位长,且小数为2位的数值型数据) 例c: INPUT (Name price1-price6 )($12. 6*8.1);(变量Name为12位长的字符,price1-price6共6个变量均为8位长的数值,小数为1位)第30页,共66页。o高级输入格式控制描述符:行保持标示符 和 :CARDS语句中的数据一行为一条观测记录,用多条INPUT语句读入。:CARDS语句中的数据一行为多条观测记录,用一条INPUT 语
21、句读入。/ : 从下一行第一列开始读数据。#N :指明从第N行开始读数据 。第31页,共66页。o例: 数据步中所有的INPUT语句完成一个观测记录的数据输入: DATA A ; INPUT NAME $ AGE ; /* 此语句应改写为 : INPUT NAME $ AGE ;*/ INPUT WEIGHT ; CARDS ; ZHANG 23 75.6 XIAO 12 32 WEI 14 30 ; RUN ; PROC PRINT ; RUN ;第32页,共66页。五、五、SAS程序的过程步程序的过程步 o通俗地说,SAS程序的过程步就是用于实现各种统计分析功能的SAS命令,我们只需要按照
22、其格式调用它们。过程步总是以一个proc语句开始,后面紧跟着过程步名。下表列出一些常用的过程步名及功能。第33页,共66页。过程步名功能Sort将数据集按指定变量排序Print将数据集中数据列表输出Gchart绘统计图Univariate对指定的数值变量作详细的统计描述Means对指定的数值变量作简单的统计描述Freq对指定的分类变量作统计描述和检验Npar1way非参数检验Ttest进行t检验Anova进行方差分析GLM拟合一般线性模型REG拟合线性回归模型Corr进行相关分析Logistic拟合Logistic回归模型Phreg拟合cox比例风险模型第34页,共66页。oSAS过程步简介过
23、程步简介1VAR语句VAR语句在过程步中用于指定分析变量。VAR语句的语法格式为:VAR 变量名1 变量名2 变量名n;变量名列表可以使用省略的形式,如x1-x3 等。应用实例: var math chinese;第35页,共66页。2MODEL语句MODEL语句在统计建模过程中用来指定模型的形式。语法格式为: MODEL 因变量 = 自变量列表 / 选项;应用实例:model y=x1 x2 x3 ;第36页,共66页。3BY语句 BY语句在过程步中用来指定一个或几个分组变量,根据这些分组变量值可以把观测记录分组,然后对每一组观测分别进行指定的分析。在使用带有BY语句的过程步之前,应先用SO
24、RT过程按BY语句指定的变量对数据集排序。例:假设我们已经把class1数据集按性别排序,则下面PRINT 过程可以把男、女生分别列出:proc print data=class1 ; by sex; run;第37页,共66页。4OUTPUT语句 OUTPUT OUT=输出数据集名 关键字=变量名 关键字=变量名 ; 其中用OUT=给出了存放结果数据集的名字,关键字用于定义输出变量名,用“关键字=变量名”的方式指定了系统自动输出变量与存储变量之间的对应关系。等号后面的变量名指定了输出数据集中的存储变量名称。例:proc means data=data_prg.class1; var math
25、; output out=result02 n=n mean=meanmath var=varmath;run;proc print data=result02; run;第38页,共66页。第39页,共66页。第40页,共66页。o说明: 在DATA步中也可以用FORMAT语句规定变量的输出格式,用LABEL 语句规定变量的标签,用LENGTH语句规定变量的存储长度,用ATTRIB语句同时规定变量的各属性。在数据步中规定的变量属性是附属于数据集本身的,是永久的;在过程步中规定的变量属性(标签、输出格式等)只对该过程的本次运行发挥作用。第41页,共66页。六、SAS语言入门语言入门1. TIT
26、LE 标题语句 SAS系统有一默认的输出标题,使输出的每页有一行标题,内容为“The SAS System”。事实上,我们可以指定自己的标题来取代SAS缺省的标题。语句格式为:TITLE 标题内容;例如,title 2001级1班成绩表;第42页,共66页。2. FOOTNOTE 脚注语句全程语句FOOTNOTE用于为输出添加脚注,语句格式为:FOOTNOTE 注脚内容字符串;例如:FOOTNOTE 第三章例子; 则其后的输出每页底端会有脚注“第三章例子”显示,直到用另一个FOOTNOTE语句指定新的脚注,或用空FOOTNOTE语句取消脚注为止。使用方法同TITLE语句。第43页,共66页。3
27、. 输出格式选项OPTIONS语句 OPTIONS语句可以规定系统运行的一些通用选择项,比如输出是否每页有页号,是否有日期,输出的行宽,输出每一页的高度(行数),等等。例如:options nonumber nodate linesize=78 pagesize=60; 其中NONUMBER表示输出不显示页号(改用NUMBER则规定显示页号),NODATE表示不在每页显示运行日期和时间(改用DATE则显示),LINESIZE=78规定输出每行最宽不超过78个字符,PAGESIZE=60 规定输出每页为60行,不足时用空行补齐。说明:上述三种语句一般称为说明:上述三种语句一般称为“全程语句全程语
28、句”!第44页,共66页。DATA步中的常用语句4. 赋值语句与表达式格式为:变量名 = 表达式;例如:avg=(math+Chinese+English)/3;isfcat = (sex=f); y=Log(x)*2;newprice = .; 其中第一个赋值语句用一个公式计算平均分数。第二个表达式利用逻辑运算生成一个取值为0或1的变量,当性别变量“sex”的值为f时,计算结果为1,否则为0。第三个表达式使用对数函数和乘方运算。第四个表达式给变量赋了缺失值。注意:数值型变量的缺失值为点“.”,字符型变量的缺失值为空格“ ”。第45页,共66页。5.输出语句 SAS数据步的输出一般是数据集,用
29、赋值语句计算的结果会自动写入数据集。SAS也提供了一个PUT语句,可以象其它语言程序的PRINT、WRITE(*,*)、printf等语句一样立即打印输出结果。例:data a; x=0.5; y=sin(x); put Sine function value of x is y;run;第46页,共66页。o结果将在运行记录窗口显示一行 Sine function value of 0.5 is 0.4794255386 o在PUT语句中使用“变量名”来指定输出项可以显示带有变量名的输出结果,比如把上程序中的PUT语句改为 put x= y=;则结果在LOG窗口显示为 X=0.5 Y=0.4
30、794255386第47页,共66页。6.分支语句SAS系统提供2种实现分支结构控制的语句,IF语句和SELECT语句。oIF语句语法格式:IF 逻辑表达式 THEN 语句1;ELSE 语句2;注:其中Else语句及其后的程序块可以省略。需要注意的是,如果程序块只有一句,则可直接写出,否则应以DO开始,以END结束。 语句功能:当逻辑表达式的计算结果为真时,执行语句1,否则执行语句2。第48页,共66页。比如, if max(a)20 then p=0; else p=1;上述程序当max(a)0 THEN DO; PUT X为正数; x = 2*x; PUT x=; END;第49页,共66
31、页。oSELECT语句SELECT (选择表达式);WHEN(值列表1) 语句1; WHEN(值列表2) 语句2;OTHERWISE 语句n; END; 其中“选择表达式”是一个计算结果为数值或字符的表达式,“值列表”由一个或者若干项构成,各项之间用逗号分隔,每项可以是一个与选择表达式具有相同数据类型的常量或表达式。“语句”可以是单个语句或复合语句。第50页,共66页。select (price);/*括号内表达式可以不用*/When(12,24) put 价格高;when(3,5,7) put 价格底;otherwise put 价格不明;end;第51页,共66页。7. 循环语句oDO循环
32、(又称为计数DO循环)DO 计数变量 = 起始值 TO 结束值 BY 步长;循环体;END; 循环体由一个或多个程序语句构成。计数变量、起始值、结束值、步长应该是相同数据类型的变量。在一般情况下,当步长大于0时,起始值应小于结束值;当步长小于0时,起始值应大于结束值。 第52页,共66页。Data bb ; do x=100 to 5000 by 50; y = SQRT(x); if y=50 then CONTINUE; z = Log(x); output ; format x 8.3 y 20.5 z 20.5; end;run; 这个程序对100到5000之间的值每隔50计算一次平方
33、根,规定变量x,y,z的输出格式分别为8.3、20.5、20.5 。如果平方根值大于等于50则不计算不方根,而直接考虑下一个值。第53页,共66页。oDO WHILE当型循环DO WHILE(循环继续条件) ;循环体语句; END; data q;y=1;do x=1 to 50 by 5 while (y50);y=x*x;x=x+1;output;end;run;第55页,共66页。8、常量、常量第56页,共66页。9、变量、变量第57页,共66页。10、运算符第58页,共66页。第59页,共66页。第60页,共66页。七、数据集操作七、数据集操作o数据集文件的基本操作o数据集的导出/导入o数据集的编辑与整理第61页,共66页。数据集文件的基本操作o1、文件复制o2. 文件浏览o3. SAS数据文件浏览 o4. 为数据文件建立快捷方式第62页,共66页。数据集的导出/导入 o导出SAS数据集o 程序:dcsj.saso外部数据导入SAS数据集o 程序:drsj.sas 第63页,共66页。读入外部数据文件o程序: dqsj.sasdata stu;infile d:mysasstu.txt;input name
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026云南机场集团招聘试题及答案
- 烧伤休克个案护理
- 3-Methylpyrrolidin-2-one-生命科学试剂-MCE
- 2026校招:审计题目及答案
- 2026年大学大一(地质学)普通地质学阶段测试题及答案
- 2026年娄底职业技术学院单招职业倾向性测试题库完整参考答案详解
- 2026年天津职业技术师范大学单招职业技能考试题库附答案详解(模拟题)
- 2026年大同煤炭职业技术学院单招综合素质考试题库含答案详解(新)
- 2026校招:上海国际港务集团试题及答案
- 2026年大兴安岭职业学院单招职业技能测试题库带答案详解(新)
- 纳税人员财会制度
- 2026年西安科技大学辅导员招聘(15人)考试参考试题及答案解析
- 【新教材】人美版(2024)小学三年级劳动下册项目一+任务一+衣服脏了我会洗(教学课件)
- 《乙肝防治指南》课件
- GB/T 2881-2023工业硅
- 农行校园招聘试题及答案
- 江川-通海-华宁生活垃圾焚烧发电项目环评报告
- 第十一章-美育-(《美学原理》PPT课件)
- 15D501建筑物防雷设施安装图集
- 电气识图与绘图教学课件
- 低压电工特种作业全套教学课件
评论
0/150
提交评论