1、第二章 软件介绍第二章第二章 SASSAS软件介绍软件介绍SAS系统概述初识SAS SAS程序的使用常识 SAS数据步SAS程序的过程步SAS语言入门SAS数据集操作一、SAS系统概述oSAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。SAS现在的版本为9.1版,大小约为1.5G。o经过多年的发展,SAS已被全世界120多个国家和地区的近三万
2、家机构所采用,直接用户则超过三百万人,遍及金融、医药卫生、生产、运输、通讯、政府和教育科研等领域。o在英美等国,能熟练使用SAS进行统计分析是许多公司和科研机构选材的条件之一。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统,并在9697年度被评选为建立数据库的首选产品。堪称统计软件界的巨无霸。o在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审批程序中,新药试验结果的统计分析规定只能用SAS进行,其他软件的计算结果一律无效!哪怕只是简单的均数和标准差也不行!由此可见SAS的权威地位。o SAS系统是集数据分析、生成报表于一体的一种集成软件系统。它由基本部分和外加模块组成:
3、基本部分:BASE SAS 部分;统计分析计算部分:SAS/STAT ;绘图部分:SAS/GRAPH ;矩阵运算部分:SAS/IML ;运筹学和线性规划:SAS/OR ;经济预测和时间序列分析:SAS/ETS;质量控制模块:SAS/QC快速数据处理的交互式菜单系统模块:SAS/FSP交互式全屏幕软件应用系统模块:SAS/AF二、初识二、初识SAS o安装SAS9.1o几个注意点:l修改系统时间到2006年12月31日前 l选择许可软件 o启动SASDATA步中的常用语句avg=math/120*100*0.SAS对程序的书写格式比较灵活,大小写一般不区分(字符串中要区分大小写);功能:输入值严
4、格按指定列号顺序获取。下述程序则是复合的IF结构。DO WHILE(循环继续条件);循环体语proc sort data=mysas.当变量的值为日期类型或时间类型时,用户必须规定变量的WHEN(值列表2)语句2;Sine function value of 0.SAS有三个最重要的子窗口:程序窗口(PROGRAM EDITOR)、运行记录窗口(LOG)、输出窗口(OUTPUT)。INPUT WEIGHT;,指字符串长度为12位。拟合Logistic回归模型张红艺 女 89 106则规定显示页号),NODATE表示不在每页显示运行SAS程序由语句组成,语句用分号结束。数据集变量、观测记录的增加
5、与筛选title 0901班学生成绩排名;它由基本部分和外加模块组成:oSAS有三个最重要的子窗口:程序窗口(PROGRAM EDITOR)、运行记录窗口(LOG)、输出窗口(OUTPUT)。o简单运行样例简单运行样例 o假设我们有一个班学生的数学成绩和语文成绩,数学满分为100,语文满分为120,希望计算学生的平均分数(按百分制)并按此排名,可以在程序窗口输入此程序:title 0901班学生成绩排名班学生成绩排名;libname a d:;/*环境设置语句环境设置语句*/data a.c0901;input name$1-10 sex$math chinese;avg=math*0.5+c
6、hinese/120*100*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;o实际上,上述程序是文本,完全可以在任何文本编辑工具中输入,比如Windows中的记事本,甚至Word也可用来输入这样包含中文的程序。输入后使用复制复制、粘贴命令将输入的程序粘贴到SAS系统程序
7、窗口。(即在记事本中复制输入的程序,然后在SAS系统程序窗口中使用粘贴命令,把程序复制到SAS中)。o要运行此程序,只要用鼠标单击工具栏的提交(Submit)图标,或用Run菜单下的Submit命令,或者直接按下F8键,就可运行程序。如果选中某一段程序,然后进行调用,则系统只执行被选中的部分。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 109 94.4167 5 刘颍 女
8、80 110 85.8333 运行记录窗口则记录每段程序的运行情况、所用时间、生成数据保存情况。如果有错误还会用红色指示错误。三、三、SAS程序的使用常识程序的使用常识 从上面的例子程序可以看出SAS程序的一些特点。oSAS程序的基本结构lSAS程序由语句组成,语句用分号结束。l语句一般由特定的关键词开始,语句中可包含变量名、运算符等,它们以空格分隔。lSAS对语句所占的行数无限制,一个语句可占多行,同样,多个语句也可占一行。lSAS对程序的书写格式比较灵活,大小写一般不区分(字符串中要区分大小写);oSAS程序的程序注释有以下两种格式:增强程序可读性l注释语句注释语句:以星号“*”开始,可占
9、多行,以分号“;”结束。/*该段有待核实*/l注释段落:注释段落:用“/*”和“*/”包括起来的任何字符,可占多行。oSAS程序的程序组成 SAS程序可以非常复杂,但其基本结构一般由数个完成单个动作的环境设置语句环境设置语句和程序步程序步构成。而程序步分为两种,一种叫数据步(data step),一种叫过程步(proc step),分别以DATA语句和PROC语句开始。数据步和过程步由若干个语句组成,一般以RUN语句结束。o数据集(dataset)和库 SAS数据集(SAS Datasets)可以看作由若干行和若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间
10、值、字符串、货币值等等。比如,前面的例子生成了一个名为C0401的数据集,它的逻辑形式如下表:NAMESEXMATHCHINESEAVG李明男929886.8333张红艺女8910688.6667王思明男869080.5000张聪男9810994.4167刘颍女8011085.8333表1数据集的逻辑形式o数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。在数据库术语中一个观测称作一个记录,一个变量称作一个域。SAS数据集等价于关系数据库系统中的一个表,实际上一个SAS数据集有时也称作一个表。o从上面看出,数据集要有名字,变量要有名字,所以SAS中对名
11、字(数据集名、变量名、数据库名,等等)有约定:SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大写字母和小写字母不区分。比如,name,abc,aBC,x1,year12,_NULL_等是合法的名字,且abc和aBC是同一个名字,而class-1(不能有减号)、a bit(不能有空格)、serial#(不能有特殊字符)、Documents(超长)等不是合法的名字。o逻辑库SAS系统将所使用的文件以库的形式组织起来,而数据集则存放在一个库中,这个库就称为逻辑库。前面见到过的libname命令就用于指定库标记。其一般格式为:Libname库名称库名称文件夹
12、位置文件夹位置选项;选项;引用在逻辑库中数据集时要使用两级名称来指定,第一级为库名称,第二级为数据集名,中间用句点“.”隔开,即:库名称库名称.数据集名数据集名libname a d:;data a.c0901;proc sort data=a.c0901;o通过SAS命令菜单方式建立逻辑库名与子目录的连接:操作过程为:进入Explorer窗口/右击(Library)图标/选择“new”命令/在弹出的窗口(见图1-4)的name栏中输入库名/在Path栏中输入目录路径或点击右侧的“Browse”按钮选择磁盘中的文件夹/选中右侧的“Enable at startup”使其永久有效,然后点“OK”
13、完成新库名的定义。oSAS文件分类 SAS文件本质上可以分为临时文件和永久文件两类:临时文件在退出SAS系统时自动被删除,永久文件则会长期保留在磁盘中。所以,在应用过程中,我们通常把中间结果数据集或练习数据集作为临时数据集文件保存,而将以后需要使用的数据集保存为永久数据集。o永久数据集操作永久数据集操作o1.生成永久数据集的实例如下:把数据集放入指定的子目录d:SAS2007中,在程序中可以用如下语句建立逻辑库,除work逻辑库以外的其它逻辑库中的数据集,都可以做为永久数据集保存:libname mysas d:SAS2007;data mysas.stu01;proc sort data=m
14、ysas.stu01;o2.对于已经事先创立的永久SAS数据集,如果已建立了逻辑库,当需要在某个过程步中调用它时,那么我们不必重复定义逻辑库,而需要在该过程步中加上选项:data=mySAS.stu,以指明要使用的数据集。INPUT NAME$AGE;PROC PRINT;在使用带有BY语句的过程步之前,应先用SORT过程按BY语句指定的变量对数据集排序。x=2*x;例如1962年3月20日被SAS程序的使用常识VAR语句在过程步中用于指定分析变量。RUN;例c:INPUT(Name price1-price6)($12.则结果在LOG窗口显示为#N :指明从第N行开始读数据。日月年7位 例:
15、20DEC97日期和时间(改用DATE则显示),LINESIZE=78规定数据集(dataset)和库运行后,输出窗口出现如下结果:libname mysas d:SAS2007;data mysas.Sine function value of 0.INPUT (变量1-变量N)(输入格式描述符);1 李明 男 92 98 86.3,效果为523458.5 刘颍 女 80 110 85.四、四、SAS 数据步简介数据步简介DATA步基本结构:DATA 数据集名;INPUT 变量名1$变量名2$变量名n$;CARDS;源数据行 ;RUN;备注:当数据中有“;”时,cards改为cards4,数
16、据以“;”作为结束对应Data步语句说明:vSAS处理的数据可分为:字符型、数值型两大类,日期型数据属于数值型。v字符型变量名后必须使用$说明符。v每行数据的行尾不能有分号“;”,但数据行 结束后的”;”分号必须单独占一行。v变量名不分大小写。DATA步中的INPUT 语句oINPUT 语句具有的四种使用格式:1)列标识方式(COLUMN)格式:INPUT 变量名1$起始列-终止列 变量名2$起始列-终止列变量名n$起始列-终止列;功能:输入值严格按指定列号顺序获取。注意:字符型数据中可镶嵌空格,数据最长为200个字符,字符型变量要跟一个$字符。例如:INPUT NAME$1-12 SEX$1
17、3 AGE 14-15 ;2)自由格式:格式:INPUT 变量名1$变量名2$变量n$;语句的功能与特点:说明:数据项之间要至少用一个空格分隔。字符型数据中间不能有空格,且最长为200个字符。用小数点.表示数值型数据的缺失值。每个字段变量要按顺序排列。例如:INPUT NAME$SEX$AGE;3)格式输入:格式:INPUT 指针控制 变量输入格式描述符;指针控制:N 指针转向第N列;(绝对移动)+N 指针向右移N列 ;(相对移动)常用SAS变量输入格式描述符说明:W.:宽度为 W 位标准数字,应用实例:8.,指数值型数据长为8个字符,且小数点位为零位。W.D:含小数点的标准数字,数字总长度为
18、W位,其中包括小数点占1位,小数占D位,以及正负符号占一位,所以所描述数据的整数部分的位数最多为W-D-2 位。应用实例:10.3,效果为523458.356。o$W.:长度为W的标准字符串,应用实例:$12.,指字符串长度为12位。oCOMMAW.D :长度位为W的数字,其中小数点占一位,小数部分占D位,正负号占一位,数据的整数部分每3位有一个逗号分隔符,逗号也占字符串宽度。应用实例:COMMA12.1,效果为:63,145,690.5。o$CHARW.:宽度为W,含有空格的字符串。有格式说明就不需用列方式,列方式与格式方式只能选其一,不能两者同用。o例:INPUT NAME$12.14 S
19、EX$+2 AGE 2.25 SALE COMMA10.2;o日期数据格式:SAS系统日期数据以1960年1月1日为起始日,系统以距离起始日期的总天数记录实际日期。例如1962年3月20日被存储为809,表示此日期与1960年1月1日相距809天。所以,当变量的值为日期类型或时间类型时,用户必须规定变量的输入和输出格式。例如1997年12月20日,可用下列日期格式表示:MMDDYY6.月日年6位 例:122097MMDDYY8.月日年8位 例:12/20/97 或12-20-97 或12201997DDMMYY6.日月年6位 例:201297YYMMDD6.年月日6位 例:971220DATE
20、7.日月年7位 例:20DEC97DATE9.日月年9位 例:2ODEC1997 MMDDYY10.月日年10位 例:12/20/1997 或 12-20-1997SAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。DATA步中的INPUT 语句四、SAS 数据步简介表示数值型数据的缺失值。Libname库名称文件夹位置选项;x=2*x;在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审批程序中,新药试验结果的统计分析规定只能用SAS进行,其他软件的计算结果一律无
21、效!备注:当数据中有“;”时,cards改为cards4,数据以“;”作为结束对应input name$1-10 sex$math english;VAR语句的语法格式为:页有一行标题,内容为“The SAS System”。为数据文件建立快捷方式注:其中Else语句及其后的程序块可以省略。input name$1-10 sex$math chinese;MODEL语句在统计建模过程中用来指定模型的形式。数据步和过程步由若干个语句组成,一般以RUN语句结束。经过多年的发展,SAS已被全世界120多个国家和地区的近三万家机构所采用,直接用户则超过三百万人,遍及金融、医药卫生、生产、运输、通讯、政
22、府和教育科研等领域。/:从下一行第一列开始读数据。libname a d:;/*环境设置语句*/对于已经事先创立的永久SAS数据集,如果已建立了逻辑库,当需要在某个过程步中调用它时,那么我们不必重复定义逻辑库,而需要在该过程步中加上选项:data=mySAS.例:日期与时间的格式应用: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 ;注意:输出的日期格式长度一般应与日期的输入格式一致。
23、如输入格式为MMDDYY6.,输出格式可以是MMDDYY6.或MMDDYY8.。如果输出格式为MMDDYY10.,就会产生输出错误。4)组格式输入:组格式输入语法格式:INPUT (变量1-变量N)(输入格式描述符);例a:INPUT(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位)o
24、高级输入格式控制描述符:行保持标示符 和 :CARDS语句中的数据一行为一条观测记录,用多条INPUT语句读入。:CARDS语句中的数据一行为多条观测记录,用一条INPUT 语句读入。/:从下一行第一列开始读数据。#N :指明从第N行开始读数据。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;五、五、SAS程序的过程步程序的过程步 o通
25、俗地说,SAS程序的过程步就是用于实现各种统计分析功能的SAS命令,我们只需要按照其格式调用它们。过程步总是以一个proc语句开始,后面紧跟着过程步名。下表列出一些常用的过程步名及功能。过程步名功能Sort将数据集按指定变量排序Print将数据集中数据列表输出Gchart绘统计图Univariate对指定的数值变量作详细的统计描述Means对指定的数值变量作简单的统计描述Freq对指定的分类变量作统计描述和检验Npar1way非参数检验Ttest进行t检验Anova进行方差分析GLM拟合一般线性模型REG拟合线性回归模型Corr进行相关分析Logistic拟合Logistic回归模型Phreg
26、拟合cox比例风险模型SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。/*变量x1-x5最多为4位整数*/行保持标示符 和 14 SEX$+2 AGE 2.IF x0 THEN DO;为数据文件建立快捷方式proc means data=data_prg.例如1997年12月20日,可用下列日期格式表示:5+chinese/120*100*0.DO WHILE(循环继续条件);循环体语y=SQRT(x);说明:上述三种语句一般称为“全程语句”!data ahualian.通过SAS命令菜单方式建立逻辑库名与子目录的
27、连接:操作过程为:进入Explorer窗口/右击(Library)图标/选择“new”命令/在弹出的窗口(见图1-4)的name栏中输入库名/在Path栏中输入目录路径或点击右侧的“Browse”按钮选择磁盘中的文件夹/选中右侧的“Enable at startup”使其永久有效,然后点“OK”完成新库名的定义。title 0901班学生成绩排名;,输出格式可以是MMDDYY6.input name$1-10 sex$math english;SAS也提供了一个PUT语句,可以象其它语言程序的PRINT、WRITE(*,*)、printf等语句一样立即打印输出结果。input name$1-1
28、0 sex$math chinese;数据步和过程步由若干个语句组成,一般以RUN语句结束。oSAS过程步简介过程步简介1VAR语句VAR语句在过程步中用于指定分析变量。VAR语句的语法格式为:VAR 变量名1 变量名2 变量名n;变量名列表可以使用省略的形式,如x1-x3 等。应用实例:var math chinese;2MODEL语句MODEL语句在统计建模过程中用来指定模型的形式。语法格式为:MODEL 因变量=自变量列表/选项;应用实例:model y=x1 x2 x3;3BY语句 BY语句在过程步中用来指定一个或几个分组变量,根据这些分组变量值可以把观测记录分组,然后对每一组观测分别
29、进行指定的分析。在使用带有BY语句的过程步之前,应先用SORT过程按BY语句指定的变量对数据集排序。例:假设我们已经把class1数据集按性别排序,则下面PRINT 过程可以把男、女生分别列出:proc print data=class1;by sex;run;4OUTPUT语句 OUTPUT OUT=输出数据集名 关键字=变量名 关键字=变量名;其中用OUT=给出了存放结果数据集的名字,关键字用于定义输出变量名,用“关键字=变量名”的方式指定了系统自动输出变量与存储变量之间的对应关系。等号后面的变量名指定了输出数据集中的存储变量名称。例:proc means data=data_prg.cl
30、ass1;var math;output out=result02 n=n mean=meanmath var=varmath;run;proc print data=result02;run;o说明:在DATA步中也可以用FORMAT语句规定变量的输出格式,用LABEL 语句规定变量的标签,用LENGTH语句规定变量的存储长度,用ATTRIB语句同时规定变量的各属性。在数据步中规定的变量属性是附属于数据集本身的,是永久的;在过程步中规定的变量属性(标签、输出格式等)只对该过程的本次运行发挥作用。六、SAS语言入门语言入门1.TITLE 标题语句 SAS系统有一默认的输出标题,使输出的每页有一
31、行标题,内容为“The SAS System”。事实上,我们可以指定自己的标题来取代SAS缺省的标题。语句格式为:TITLE 标题内容;例如,title 2001级1班成绩表;2.FOOTNOTE 脚注语句全程语句FOOTNOTE用于为输出添加脚注,语句格式为:FOOTNOTE 注脚内容字符串;例如:FOOTNOTE 第三章例子;则其后的输出每页底端会有脚注“第三章例子”显示,直到用另一个FOOTNOTE语句指定新的脚注,或用空FOOTNOTE语句取消脚注为止。使用方法同TITLE语句。3.输出格式选项OPTIONS语句 OPTIONS语句可以规定系统运行的一些通用选择项,比如输出是否每页有页
32、号,是否有日期,输出的行宽,输出每一页的高度(行数),等等。例如:options nonumber nodate linesize=78 pagesize=60;其中NONUMBER表示输出不显示页号(改用NUMBER则规定显示页号),NODATE表示不在每页显示运行日期和时间(改用DATE则显示),LINESIZE=78规定输出每行最宽不超过78个字符,PAGESIZE=60 规定输出每页为60行,不足时用空行补齐。说明:上述三种语句一般称为说明:上述三种语句一般称为“全程语句全程语句”!DO UNTIL直到型循环”,字符型变量的缺失值为空格“”。月日年6位 例:122097则规定显示页号)
33、,NODATE表示不在每页显示运行当变量的值为日期类型或时间类型时,用户必须规定变量的14 SEX$+2 AGE 2.avg=math*0.月日年8位 例:12/20/97 或12-20-97 或12201997proc means data=data_prg.月日年8位 例:12/20/97 或12-20-97 或12201997质量控制模块:SAS/QC例如1962年3月20日被z=Log(x);从上面看出,数据集要有名字,变量要有名字,所以SAS中对名字(数据集名、变量名、数据库名,等等)有约定:SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大
34、写字母和小写字母不区分。BY语句在过程步中用来指定一个或几个分组变量,根据这些分组变量值可以把观测记录分组,然后对每一组观测分别进行指定的分析。data ahualian.变量名列表可以使用省略的形式,如x1-x3 等。proc print;INPUT 变量名1$变量名2$变量名n$;if math90 then delete;DATA步中的常用语句4.赋值语句与表达式格式为:变量名=表达式;例如:avg=(math+Chinese+English)/3;isfcat=(sex=f);y=Log(x)*2;newprice=.;其中第一个赋值语句用一个公式计算平均分数。第二个表达式利用逻辑运算
35、生成一个取值为0或1的变量,当性别变量“sex”的值为f时,计算结果为1,否则为0。第三个表达式使用对数函数和乘方运算。第四个表达式给变量赋了缺失值。注意:数值型变量的缺失值为点“.”,字符型变量的缺失值为空格“”。5.输出语句 SAS数据步的输出一般是数据集,用赋值语句计算的结果会自动写入数据集。SAS也提供了一个PUT语句,可以象其它语言程序的PRINT、WRITE(*,*)、printf等语句一样立即打印输出结果。例:data a;x=0.5;y=sin(x);put Sine function value of x is y;run;o结果将在运行记录窗口显示一行 Sine funct
36、ion value of 0.5 is 0.4794255386 o在PUT语句中使用“变量名”来指定输出项可以显示带有变量名的输出结果,比如把上程序中的PUT语句改为 put x=y=;则结果在LOG窗口显示为 X=0.5 Y=0.47942553866.分支语句SAS系统提供2种实现分支结构控制的语句,IF语句和SELECT语句。oIF语句语法格式:IF 逻辑表达式 THEN 语句1;ELSE 语句2;注:其中Else语句及其后的程序块可以省略。需要注意的是,如果程序块只有一句,则可直接写出,否则应以DO开始,以END结束。语句功能:当逻辑表达式的计算结果为真时,执行语句1,否则执行语句2
37、。比如,if max(a)20 then p=0;else p=1;上述程序当max(a)0 THEN DO;PUT X为正数;x=2*x;PUT x=;END;oSELECT语句SELECT(选择表达式);WHEN(值列表1)语句1;WHEN(值列表2)语句2;OTHERWISE 语句n;END;其中“选择表达式”是一个计算结果为数值或字符的表达式,“值列表”由一个或者若干项构成,各项之间用逗号分隔,每项可以是一个与选择表达式具有相同数据类型的常量或表达式。“语句”可以是单个语句或复合语句。select(price);/*括号内表达式可以不用*/When(12,24)put 价格高;when
38、(3,5,7)put 价格底;otherwise put 价格不明;end;7.循环语句oDO循环(又称为计数DO循环)DO 计数变量=起始值 TO 结束值 BY 步长;循环体;END;循环体由一个或多个程序语句构成。计数变量、起始值、结束值、步长应该是相同数据类型的变量。在一般情况下,当步长大于0时,起始值应小于结束值;当步长小于0时,起始值应大于结束值。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;这个程序对1
39、00到5000之间的值每隔50计算一次平方根,规定变量x,y,z的输出格式分别为8.3、20.5、20.5 。如果平方根值大于等于50则不计算不方根,而直接考虑下一个值。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;8、常量、常量9、变量、变量10、运算符七、数据集操作七、数据集操作o数据集文件的基本操作o数据集的导出/导入o数据集的编辑与整理数据集文件的基本操作o1、文件复制o2.文件浏览p3.SAS数据文件浏览 o4.为数据
40、文件建立快捷方式如果有错误还会用红色指示错误。行保持标示符 和 Obs name sex math chinese avg将数据集中数据列表输出;下表列出一些常用的过程步名及功能。data ahualian.张聪 男 98 109其中“选择表达式”是一个计算结果为数值或字符的表达式,“值列表”由一个或者若干项构成,各项之间用逗号分隔,每项可以是一个与选择表达式具有相同数据类型的常量或表达式。例如1962年3月20日被为数据文件建立快捷方式行保持标示符 和 proc sort data=mysas.,输出格式可以是MMDDYY6.SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于
41、统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。年月日6位 例:971220注意:输出的日期格式长度一般应与日期的输入格式一致。例如:options nonumber nodate linesize=78 pagesize=60;proc means data=data_prg.TITLE 标题语句对于已经事先创立的永久SAS数据集,如果已建立了逻辑库,当需要在某个过程步中调用它时,那么我们不必重复定义逻辑库,而需要在该过程步中加上选项:data=mySAS.数据集的导出/导入 o导出SAS数据集o 程序:dcsj.saso外部数据导入SAS数据集o 程序:drsj.sas 读入
42、外部数据文件o程序:dqsj.sasdata stu;infile d:mysasstu.txt;input name$1-10 sex$math chinese;run;proc print;run;o注意:INFILE语句要写在INPUT语句之前,INFILE语句就不再有CARDS语句和空语句。数据集的编辑与整理o数据集变量名与类型的更改o数据集变量、观测记录的增加与筛选o数据集排序o数据集的纵向连接o数据集的横向合并o数据合并的菜单操作o 程序:sjcz.saslibname ahualian d:mysas;/*数据纵向连接横向连接*/data a1;input id math;car
43、ds;1 892 90;run;data a2;input id math english;cards;2 90 843 82 86;run;data ahualian.a3;set a1 a2;run;data ahualian.a4;merge a1 a2;by id;run;proc print;run;data ahualian.Stu02;input name$1-10 sex$math english;avg=math/120*100*0.5+english*0.5;cards;王 红 F 89 73李 明 M 91 68徐凯歌 M 87 78吴青云 F 92 84李清华 F 92
44、 78张萍江 M 87 78;run;/*更改变量名、增加新变量*/data ahualian.stu04;/*建立数据stu04*/set ahualian.stu02;/*复制数据stu02*/rename avg=avg_me math=mathmatics;/*更改变量名*/total=math+english;/*增加新变量*/run;/*保留、删除变量*/data ahualian.stu05;set ahualian.stu02;keep name math English;run;data ahualian.stu06 (keep=name math English);set ahualian.stu02;run;data ahualian.stu07;set ahualian.stu02;drop sex avg;run;data ahualian.stu08(drop=sex avg);set ahualian.stu02;run;/*数据筛选*/data ahualian.stu09;set ahualian.stu02;if math=90;run;proc print;run;
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。