ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:23.10KB ,
资源ID:30172294      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30172294.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第05章 SAS服务过程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第05章 SAS服务过程.docx

1、第05章 SAS服务过程第5章 SAS服务过程摘要:SAS服务过程不直接给出统计值,但常被用于准备或整理统计资料。主要包括PRINT、SORT、TRANSPOSE、FORMAT、STANDARD、PLOT和SCORE等过程。5.1 PRINT过程PRINT过程的功能是将SAS数据集的记录(观察值)以一定的方式显示或打印出来(输出),可以显示或打印其全部的变量或部分变量,也可打印出数值变量的总和。利用此过程,可以创建从简单列表到可进行数据汇总的各种报告的各种不同的表单。一、过程格式PROC PRINT 选择项;VAR 变量表;ID 变量表;BY 变量表;PAGEBY 变量;SUM 变量表;SUM

2、BY 变量;二、语句说明1PROC PRINT语句选择项DATA= 指定输入数据集。N 打印观察值的个数。ROUND 小数打印时的输出格式,缺省为2位小数。LABEL 在输出的第一行中,用变量的标签代替变量名。SPLIT= 指定列间的分隔符。NOOBS 不输出观察值的序号。UNIFORM 要求所有输出页均采用同一格式。2PROC PRINT过程中常用语句VAR语句规定只输出变量表中给定的变量。ID语句用规定的变量代替观察的序号。BY语句指定分组的变量。PAGEBY语句指定分页变量(必须已经使用BY语句)。SUM输出变量表中所列变量的和。SUMBY语句当BY语句中的变量发生变化时对其求和(必须已

3、经使用BY语句)。例如:data aa; input xh$ x1 x2; y= x1+x2*0.7; cards; 001 25 65 002 24 70 003 14 35 004 26 80 005 23 45proc print label noobs; label xh=学号 x1=考察 x2=考试 y=总分;run;DATA h; INPUT x$ a b; CARDS; zhangsan 1 2.2 lisi 2 4.3 wangwu 2 4.56 liuliu 1 2.45 ;PROC SORT; BY a;PROC PRINT NOOBS ROUND; ID x; BY a;

4、 SUM b; SUMBY a;RUN;输出结果:- A=1 - X B zhangsan 2.20 liuliu 2.45 - A 4.65- A=2 - X B lisi 4.30 wangwu 4.56 - A 8.86 = 13.515.2 SORT过程SORT过程可将数据集中的观察值按一个或多个变量的值进行排序,以便其他的SAS过程利用BY语句对其进行分组处理。排序后的观察值存放在一个新的SAS数据集中或替代原数据集。当排序变量为数值型时,依从小到大的顺序进行比较;当排序变量为字符型时,依ASCII码值,从小到大的顺序进行比较;在多个排序变量时,在较前的排序变量值相等时,对较后的变量

5、值进行比较。一、过程格式PROC SORT 选择项;BY DEXCENDING 变量表;二、语句说明常用选项有:1DATA=数据集名 指定要进行排序的数据集,若省略,则使用最近生成的数据集。2OUT=数据集名 指定一个输出数据集,若省略,排序结果仍存在原数据集中。3NODUPKEY 检查并删除具有相等排序变量值的较后观察值。4BY语句:BY语句指定排序变量名,每一个变量前有一个选择项DESCENDING,指定该变量的观察值按降序排列,缺省则以升序排列。例如:DATA newa; INPUT name$ sex$ score; CARDS; Zhangsan M 98 lisi F 95 wan

6、wu M 90 liuliu F 89PROC SORT OUT=newb; BY DESCENDING SCORE;PROC PRINT DATA=newb;RUN;输出结果为:OBS NAME SEX SCORE 1 zhangsan M 98 2 lisi F 95 3 wanwu M 90 4 liuliu F 89例如(多序):data new;input xm$ age salary; cards; aaa 30 700 bbb 25 300 ccc 28 500 ddd 30 600 eee 25 450proc sort; by age salary;proc print;ru

7、n;data new; input xm$ age salary; cards; aaa 30 700 bbb 25 300 ccc 28 500 ddd 30 600 eee 25 450proc sort data=new out=new1; by age salary;proc print data=new1;run;5.3 STANDARD某些统计技术要求把数据集标准化后再分析,STANDARD过程按给定的平均值和标准差可对SAS数据集中的某个或全部变量进行标准化,并产生一个新的数据集。一、过程格式PROC STANDARD 选择项;VAR 变量表;FREQ 变量表;WEIGHT 变量

8、表;BY 变量表;二、语句说明1PROC STANDARD语句选择项DATA=数据集 指定要被标准化的数据集。若缺省,则使用最新建立的数据集。OUT=数据集 给含标准化变量的新数据集命名。若缺省,则SAS按DATAn惯例给输出数据集命名。MEAN=m 要求变量被标准化后均值为m。若缺省,则输出均值与输入均值相同。STD=s 要求变量被标准化后标准差为s。若缺省,则输出标准差与输入标准差相同。VARDEF=DF|N|WEIGHT或WGT |WDF 用于指定变异数计算过程中分母的值。若选用DF,则分母是自由度N-1;若选用N,则分母是样本数N;若选用WGT,则分母是各观察值权重和;若选用WDF,则

9、分母是上述WGT的值减1。默认值为DF。REPLACE 要求用均值代替缺失项值。2 PROC STANDARD过程其他常用语句(1)VAR语句指定用于被标准化的变量。(2)FREQ语句指定一个变量为频数变量,这个变量的值是各观察值重复出现的次数。若此变量不是一个整数,SAS会截去小数部分,只取其整数部分。(3)WEIGHT语句指定一个变量为权变量,这个变量是各观察值的加权值,不一定是整数,它是用来计算经过加权后的平均数和变异数的。(4)BY语句指定对原始数据集进行分组的变量,将原数据集分成几个小的数据集,然后在每个小数据集内进行标准化变量的转换。当选用此选项时,原数据集的数据必须按BY变量串的

10、值由小到大重新排列过(可用PROC SORT来完成)。例如:学生两门课考试成绩为score1和score2,要求把学生考试成绩标准化,标准化后的学生成绩的平均值为80,标准差为5。DATA old; INPUT name$ score1 score2; CARDS; zhangsan 80 99 lisi 89 98 Wangwu 87 79 Liuliu 67 75 qudab 64 71PROC STANDARD MEAN=80 STD=5 OUT=new; VAR score1 score2;PROC PRINT;RUN;输出结果:OBS NAME SCORE1 SCORE2 1 zha

11、ngsan 81.1389 85.5373 2 lisi 85.0811 85.1580 3 Wangwu 84.2050 77.9520 4 Liuliu 75.4446 76.4349 5 qudab 74.1305 74.91785.4 TRANSPOSE过程TRANSPOSE过程可把原数据矩阵进行转置,使新数据集的变量对应原数据集的观察值,而新数据集的观察值对应原数据集的变量。一、过程格式:PROC TRANSPOSE 选择项;VAR 变量表;ID 变量;IDLABEL 变量;COPY 变量表;BY 变量表;二、语句说明:1PROC TRANSPOSE语句选择项DATA=数据集 指定一

12、个要被转置的数据集,若缺省则转置最新建立的数据集。PERFIX=变量名 指定一个前缀,构成新的变量名。如PERFIX=x,则转置后的新变量名为x1,x2,x3,xn。OUT=数据集 指定转置所要建立的新的数据集。若缺省,则按DATAn的习惯自动建立。2PROC TRANSPOSE过程常用语句VAR语句:列出要被转置的变量,若缺省,则原数据集中未在其他语句中列出的所有数值变量均被转置,字符型变量必须在VAR语句中列出才能被转置,未被转置的变量不进入新数据集,除非它们已在COPY或BY语句中已列出。ID语句:指定转置后新数据集中的变量名。若缺省,系统将以COL1、COL2等作为新数据集的变量名。C

13、OPY语句:将原数据集中的变量直接拷贝到输出数据集中。BY语句:对原数据集进行分组转置,分组变量被包括在输出数据集中,但它不被转置。用BY语句对数据集进行转置时,要求输入的数据集已被排序。例如:DATA new; INPUT name$ score1 score2; CARDS; zhangsan 80 99 lisi 89 98 Wangwu 87 79 Liuliu 67 75PROC PRINT;PROC TRANSPOSE; ID name;PROC PRINT;RUN;输出结果: OBS NAME SCORE1 SCORE2 1 zhangsan 80 99 2 lisi 89 98

14、 3 Wangwu 87 79 4 Liuliu 67 75 OBS _NAME_ ZHANGSAN LISI WANGWU LIULIU 1 SCORE1 80 89 87 67 2 SCORE2 99 98 79 75 5.5 PLOT过程/gplotPLOT过程是一个绘制散点图的过程,可以描述数据集中两个变量的相互关系。一、散点图:在平面直角坐标系中,由一系列点来表示两个变量之间的关系图,利用散点图可以看出两个变量之间的相关关系,一个变量随另一个变量变化的趋势,及二元变量的分布情况,经常作为统计分析的辅助手段。二、过程格式:PROC PLOT 选择项1;PLOT 绘图表达式/选择项2;B

15、Y 变量表;三、语句说明:在一个PLOT过程中,至少有一个PLOT语句,在每一个PLOT语句中可以有多个绘图表达式;1PROC PLOT 语句常用选择项DATA数据集 指示要使用的数据集;缺省时,使用最新建立的数据集。UNIFORM 与BY语句有关,要求BY组的坐标刻度一致。2PLOT语句绘图表达式有3种格式: 1 垂直坐标变量*水平坐标变量 即:y*x y为纵轴,x为横轴。 垂直坐标变量*水平坐标变量 即:x*y x为纵轴,y为横轴。2 垂直坐标变量*水平坐标变量=标记字符 即:x*y=”#” 以“#”为作图符号,x为纵轴,y为横轴。 即:x*y=”#” z*x=”A” 以“#”和“A” 给

16、出两个图形的说明,即在同一个坐标系中,画出两个散点图。如果“=”后面是变量,则以变量值作为图形符号。若省略“=变量或字符”,则作图符号用26个英文字母,A-表示出现的1次的点,B表示出现的2次的点,一次类推。3 垂直坐标变量*水平坐标变量=标记变量名一般情况下,PLOT过程用字符“A”表述坐标点,但采用第二种格式将用规定的字符描述,用第三种格式将用变量的数值作标记。PLOT语句的选项VAXIS=值表 指出垂直轴上的刻度标记。如:PLOT y*x/VAXIS=0 TO 50 BY 10;也可用不均匀刻度表示,如:PLOT y*x/VAXIS=0 10 100 1000 10000;HAXIS=值

17、表 指出水平轴上的刻度标记。VREF=值表 请求画平行于水平轴的直线,其与垂直轴的交点由值指出。HREF=值表 请求画平行于垂直轴的直线,其与水平轴的交点由值指出。VREFCHAR=标记字符 指定标记垂直轴线的字符。HREFCHAR=标记字符 指定标记水平轴线的字符。VPOS=值 定义图的垂直高度,应小于页码8行。HPOS=值 定义图的水平宽度,应小于页码3列。OVERLAY 将多个散点图绘制于一个坐标系下。CONTOUR=n 为整数,可以绘制二员函数的平面等高图。例如用PLOT过程绘制y=sinx在0至内的图形,可用下列程序:OPTIONS LS=70 PS=44; DATA; DO x=0

18、 to 4*ATAN(1) BY 0.05; y=SIN(x); OUTPUT; END; PROC PLOT; PLOT y*x=*/VAXIS=0 TO 1 BY 0.25 HAXIS=0 TO 4 BY 1;RUN;例如:OPTIONS LS=70 PS=44;DATA; DO x=0 to 50 BY 2; y=x; OUTPUT; END;PROC PLOT; PLOT y*x=*/VAXIS=0 TO 50 BY 2 HAXIS=0 TO 50 BY 2;RUN;例如:PTIONS LS=70 PS=44;DATA new; INPUT NO$ X Y Z; CARS; a -4

19、16 0 b -3 9 7 c -2 4 12 d -1 1 15 e 0 0 16 f 1 1 15 g 2 4 12 h 3 9 7 i 4 16 0PROC print;PROC PLOT; PLOT y*x=* Z*X=# /OVERPLAY;RUN;应用实例10名20岁男青年身高(cm)与前臂长(cm)如下,请绘出散点图。身高 170 173 160 155 173 168 178 183 180 165前臂长 45 42 44 41 47 50 47 46 49 43程序如下:data new;input x y ;cards;170 45 173 42 160 44 155 41

20、 173 41 188 50 178 47 183 46 180 49 165 43 proc plot data=new; plot y*x=*;run;5.6 变量值的线性组合过程SCORESCORE过程是将两个数据集相乘产生第三个数据集,其中一个数据集是原始数据集,另一个是系数数据集,产生的第三个数据集存放前两个数据集线性组合的结果。一、过程简介PROC SCORE DATA=数据集 选择项;VAR 变量表;ID 变量表;BY 变量表;二、语句说明1PROC SCORE语句选择项DATA=数据集 指定所用的原始数据集,此项不可省略。SCORE=数据集 指定所用的系数数据集。数据集中必须包

21、含_TYPE_和_NAME_(或_MODEL_)两个变量。如果省略此项,系统会自动寻找SAS最后形成的数据集。OUT=数据集 指定输出数据集名称,它包含有原始变量值、线性组合后的新变量值,新变量用_NAME_或_MODEL_命名。如果省略输出数据集,系统自动产生一个默认的输出数据集。TYPE=类型名 指定系数变量的类型名称。如果指定具体的系数变量,SCORE过程将用系数数据集中该变量对应的数值和原始数据集中的数据相乘。否则SCORE过程从系数数据集找出默认的“SCORE”或“USCORE”类型的变量。如果OUTSTAT指定的数据集是由CANCORR, CANDISC, PRINCOMP 或VA

22、RCLUS过程产生,则不需要指定具体的系数变量名称。如果是一元回归,则TYPE=PARMS。PREDICT 如果选用此参数,SCORE过程可将系数数据集中值为1变为。在回归分析时依变量的系数都是-1。如果直接使用该系数集SCORE过程将产生负残差,若选用PREDICT将产生依变量的预测值。RESIDUAL 选用残差将会改变每个系数的符号。如在回归分析中选用RESIDUAL 参数,SCORE过程将负残差变为正残差。NOSTD 抑制原始数据被标准化。一般来说,SCORE过程会在系数数据集中查找_TYPE_=MEAN和_TYPE_=STD或_TYPE_=USCORE和_TYPE_=USTD的观察值,

23、 并用这些参数对原始数据进行标准化。2PROC SCORE过程其他常用语句VAR语句指定计算分值所需的变量列表,这些变量必须同时包含在原始数据集和系数数据集中,而且必须是数值型变量。如果不设定该项,SCORE过程将使用系数数据集中所有的数值型变量。ID语句从原始数据集中挑选某些变量,使他们包括在输出数据集中,并作为标识变量。如果没有ID选项,原始数据集中的所有变量都将被输出到输出数据集中。BY语句指定对观察值进行分组的分组变量,据之分别进行分析。选用此命令时,数据集中的数据必须先按照BY变量串的值做由小到大的重新排列。SCORE语句经常在回归分析、主成分分析、因子分析、典型相关分析、典型判别分

24、析、变量聚类分析等多变量分析中,用于计算预测值和因子得分等。5.7 FORMAT过程利用FORMAT过程可以对字符或数值变量定义一个所需的格式。一、过程格式PROC FORMAT 选择项;VALUE 格式名 范围=被输出的值;INVALUE 格式名 范围=被输出的值;二、语句说明在一个FORMAT过程中,可以使用多个VALUE和INVALUE语句定义多个格式。PROC FORMAT语句常用选项:CNTLIN=数据集 指定输入数据集,包含输入格式的控制信息。CNTLOUT=数据集 指定输出数据集,包含输出格式的控制信息。LIBRARY=逻辑库名 设定存储输入输出格式的永久目录的库关联。该选项用于

25、创建永久性的输入输出格式。使用前应先用LIBNAME把逻辑库名同有关的目录关联起来。1VALUE语句该语句定义一种输出格式,可把某变量的值按所定义的格式输出。可把数值变成字符或转成另一种字符。格式名称可以自由选择,但要注意,格式名不能超过8个字符,格式名尾部不能有数字;字符型变量的格式名称必须以$开始。范围说明有4种方法:单个数值或字符串,如:“VALUE $namefmt zhangsZhangSan;”。数值或字符串列表,如:“VALUE agefmt 2,14,26,38=虎年生;”。数值或字符范围,如:“VALUE scorefmt 60-70=及格;”范围列表,如:“VALUE sc

26、orefmt 0-40,90-99=非正常数据;”在范围说明中可以包括关键字LOW、HIGH和OTHER。LOW和HIGH分别表示变量的最小和最大值;OTHER表示其他范围中不包括的一个特殊范围。LOW并不包括缺失项。如:PROC FORMAT;VALUE agegrp LOW-18=0-18 41-60=41-60 60-HIGH=大于60 =缺失 OTHER=超出范围;被输出的值的最大长度为40个字符,但一般限制在16个字符之内。VALUE的应用举例:DATA new; INPUT name$ sex$ age$ score; CARDS; zhangsan MALE Tiger 1 li

27、si FEMALE Cow 4PROC FORMAT; VALUE $sexfmt FEMALE=F /*该处$不可缺省*/ MALE=M; VALUE $agefmt Tiger=虎年生 /*该处$不可缺省*/ Cow=牛年生; /*如果此处规定COW=2,2将按文本输出*/ VALUE scfmt LOW-2=不及格 3-HIGH=及格;PROC PRINT; FORMAT sex $sexfmt. /*该处$和.不可缺省*/ age $agefmt. /*该处$和.不可缺省*/ score scfmt.; /*该处.不可缺省*/RUN;输出结果:OBS NAME SEX AGE SCOR

28、E1 zhangsan M 虎年生 不及格2 lisi F 牛年生 及格 2INVALUE语句该语句定义一种输入格式,可把原始数据中某变量的值转变为另一个不同的值。输入格式名、范围、被输出的值的用法与VALUE语句中的相应部分用法基本相同。如:PROC FORMAT; INVALUE $sexfmt FEMALE=F /*该处$不可缺省*/ MALE=M; INVALUE agefmt Tiger=12 /*如果agefmt前加$,则12将是字符型的*/ Cow=13; INVALUE $scfmt LOW-2=不及格 /*该处$不可缺省*/ 3-HIGH=及格;DATA new; INFORMAT sex $sexfmt. /*该处$和.不可缺省*/ age agefmt. /*该处.不可缺省*/ score $scfmt.; /*该处$和.不可缺省*/ INPUT name$ sex age score; CARDS; zhangsan MALE Tiger 1 lisi FEMALE Cow 4PROC PRINT;RUN;输出结果:OBS SEX AGE SCORE NAME 1 M 12 不及格 zhangsan2 F 13 及格 lisi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1