统计分析系统sas--03.ppt
第第3讲数据步语句讲数据步语句SAS过程初步过程初步计算中心计算中心 何宁何宁计算中心计算中心数据步语句数据步语句v选择语句选择语句SELECT(选择表达式);WHEN(值列表)语句;WHEN(值列表)语句;OTHERWISE 语句;END;计算中心计算中心数据步语句数据步语句v其中其中“选择表达式选择表达式”是一个取数值、字符型值的是一个取数值、字符型值的变量或表达式,变量或表达式,“值列表值列表”为一项或者若干项为一项或者若干项,多多项之间逗号分开项之间逗号分开,每项可以是一个与选择表达式相每项可以是一个与选择表达式相同取值类型的表达式。同取值类型的表达式。v“语句语句”可以是单个语句或复合语句。执行可以是单个语句或复合语句。执行SELECT结构时结构时,先计算出选择表达式和值列表中先计算出选择表达式和值列表中的所有值的所有值,然后把选择表达式值由前向后与值列表然后把选择表达式值由前向后与值列表中的值相比中的值相比,发现相等值则执行对应的语句,然后发现相等值则执行对应的语句,然后退出退出SELECT结构(不再查看后面的值列表)结构(不再查看后面的值列表).v如果选择表达式的值不等于任何值列表中的值则如果选择表达式的值不等于任何值列表中的值则执行执行OTHERWISE对应的语句,这种情况下没对应的语句,这种情况下没有有OTHERWISE语句会出错。语句会出错。计算中心计算中心数据步语句数据步语句v选择语句的另一种形式选择语句的另一种形式 SELECT;WHEN(条件)语句;WHEN(条件)语句;OTHERWISE 语句;END;v这种这种SELECT语句没有选择表达式,而是在每一个语句没有选择表达式,而是在每一个 HEN语句指定一个条件(逻辑表达式)语句指定一个条件(逻辑表达式)v执行第一个满足条件的执行第一个满足条件的WHEN后的语句后的语句v如果所有条件都不满足则执行如果所有条件都不满足则执行OTHERWISE后的语句。后的语句。计算中心计算中心数据步语句数据步语句SELECT;WHEN(age=12)put 少年少年;WHEN(age35)put 青年青年;OTHERWISE put 中老年中老年;END;计算中心计算中心数组语句数组语句-数值型数组数值型数组v数值型数组:数值型数组:v定义数值型数组的格式为:定义数值型数组的格式为:ARRAY 数组名(维数说明)数组元素名列表(初始值表);例如:ARRAY tests(3)math chinese english(0,0,0);计算中心计算中心数组语句数组语句-数值型数组数值型数组v数组名是一个合法的数组名是一个合法的SAS名字且不能与同一数据步中的变名字且不能与同一数据步中的变量重名。量重名。v对一维数组,维数说明只要说明元素个数,这时下标从对一维数组,维数说明只要说明元素个数,这时下标从1开始。数组元素名列表列出这个数组的各个元素实际代表开始。数组元素名列表列出这个数组的各个元素实际代表的变量名,各变量名以空格分隔的变量名,各变量名以空格分隔.v初始值表给各数组元素赋初值,按顺序对应。数组说明中初始值表给各数组元素赋初值,按顺序对应。数组说明中初始值表可以省略,这时其初始值为相应数组元素的值初始值表可以省略,这时其初始值为相应数组元素的值(如果其数组元素还没有值则初值为缺失值)。(如果其数组元素还没有值则初值为缺失值)。v 数组说明中的数组元素名列表可以省略,这时其元素也数组说明中的数组元素名列表可以省略,这时其元素也有对应的变量名,变量名为数组名后附加序号。有对应的变量名,变量名为数组名后附加序号。计算中心计算中心数组语句数组语句-数值型数组数值型数组v例:例:ARRAY x(3);中数组x的各元素名为x1,x2,x3。v 也可以在说明维数时用也可以在说明维数时用“下标下界下标下界:下标上界下标上界”来说明一来说明一个其它的下标下界,如个其它的下标下界,如 ARRAY sales(95:97)yr95yr97;这时sales(95)为yr95,sales(96)为yr96,sales(97)为yr97。v一维数组的维数说明还可以是一个星号,这时数组大小由一维数组的维数说明还可以是一个星号,这时数组大小由提供的元素列表中的变量个数决定提供的元素列表中的变量个数决定 ARRAY tests(*)math chinese english (0,0,0);v可以用函数可以用函数DIM(数组名数组名)来获得数组的长度。来获得数组的长度。计算中心计算中心数组语句数组语句-数值型数组数值型数组v可以定义二维数值型数组,只要在维数说明中指可以定义二维数值型数组,只要在维数说明中指定用逗号分开的两个下标界说明,例如:定用逗号分开的两个下标界说明,例如:array table(2,2)x11 x12 x21 x22;说明table(1,1)为x11,table(1,2)为x12,table(2,1)为x21,table(2,2)为x22v 二维数组元素的顺序按行排列二维数组元素的顺序按行排列计算中心计算中心数组语句数组语句-字符型数组字符型数组ARRAY 数组名(维数说明)$元素长度说明数组元素名列表(初始值表);例如:ARRAY names(3)$10 child father mother;v字符型数组其它方面的用法与数值型相同。字符型数组其它方面的用法与数值型相同。计算中心计算中心数组语句数组语句使用数组使用数组vSAS以变量为元素的数组可以方便变量的循环处理以变量为元素的数组可以方便变量的循环处理例如,读入了comp1-comp10 十个计算机销售额变量,prin1-prin6六个打印机销售额变量,希望计算其总和,可以用如下的数组说明与DO循环配合进行:data sales;input comp1-comp10 prin1-prin6;ARRAY y(*)comp1-comp10 prin1-prin6;tot=0;do i=1 to DIM(y);tot+y(i);end;cards;run;计算中心计算中心SAS过程中常用语句过程中常用语句vPROCvBYvCLASSvVARvWEIGHTvFREQvFORMATvLABELvOUTPUTvTITLEvFOOTNOTEvGOPTIONS计算中心计算中心PROC 语句语句v语句格式:语句格式:PROC 选择项;v功能功能:指定所需调用的过程以及该过程的若干选择项。v选择项选择项关键字关键字=值关键字=SAS数据集,如 DATA=数据集计算中心计算中心SAS常用过程常用过程vIMPORTvSQLvPRINTvFREQvMEANSvSORTvFORMAT计算中心计算中心IMPORT过程过程Proc import out=数据集数据集 datafile=“文件全名文件全名”|table=“表名表名”DBMS=标识名标识名 REPLACE 其他语句;其他语句;Run;其中,标识名如下:Access2000|dbf|excel2000|dlm|csv|tab上述标识名依次对应的扩展名为:.mdb|.dbf|.xls|.*|.csv|.txt其他语句Getnames=yes|noDatarow=n(标识名为dlm|csv|tab时可用)计算中心计算中心IMPORT过程过程Proc import out=aaa datafile=e:sasdatabank.xls DBMS=excel2000;Run;计算中心计算中心SQL过程过程PROC SQL;CREATE TABLE 数据集名数据集名 AS SELECT 语句语句;Proc SQL;CREATE TABLE AB.CLASSBAK ASSELECT NAME,GENDER FROM AB.CLASS1 WHERE AGE=5;Run;计算中心计算中心FREQ过程过程vProc freq data=数据集名数据集名 选项选项;vtables 变量名列表变量名列表/选项选项;vRun;vTables语句中的选项:语句中的选项:nocum不要累计的频数和百分数 nopercent-不要百分数和累计的百分数vProc freq语句中的选项:语句中的选项:order=internal-按变量值排序freq-按频数降序排序data-按数据集中的值的次序排序formatted-按变量格式化的值排序计算中心计算中心MEANS过程过程PROC MEANS DATA=;VAR;BY;CLASS;RUN;计算中心计算中心可以计算的描述性统计量关键字及其含义见下表关键字所代表的含义关键字所代表的含义n有效数据记录数range极差nmiss缺失数据记录数skewness偏度mean均值kurtosis峰度std标准差t分布位置假设检验之t统计量stderr标准误probt上述t统计量对应的概率值var方差q1第一四分位数median中位数q3第三四分位数mode众数qrange四分位数间距cv变异系数p1第一百分位数max最大值p5第五百分位数min最小值p10第十百分位数sum总计p90第九十百分位数sumwgt加权值总计p95第九十五百分位数css校正平方和p99第九十九百分位数uss未校正平方和计算中心计算中心UNIVARIATE过程过程PROC UNIVARIATE DATA=;VAR;BY|CLASS;HISTOGRAM/;OUTPUT OUT=;RUN;计算中心计算中心UNIVARIATE过程过程vUNIVARIATE过程和过程和MEANS过程的格式非常过程的格式非常相似,相同的语句和选项其含义也相同,所不同相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在的是某些统计量只能在UNIVARIATE过程中计过程中计算(如众数),而且算(如众数),而且UNIVARIATE过程中具有过程中具有绘图功能。绘图功能。v 其中,其中,HISTOGRAM语句用来指示语句用来指示SAS对其后对其后所指定的变量绘制直方图,其后的选项用来指示所指定的变量绘制直方图,其后的选项用来指示SAS添加不同类型的拟合图形(如正态分布的分添加不同类型的拟合图形(如正态分布的分布密度曲线)。布密度曲线)。计算中心计算中心用分析家作频数统计用分析家作频数统计v选择选择”解决方案解决方案/分析分析/分析家分析家”进入分析家环境进入分析家环境v点击点击”文件文件/按按SAS名称打开名称打开”打开数据集打开数据集v点击点击”统计统计/描述性统计描述性统计/频数统计频数统计”,在弹出的对在弹出的对话框中:话框中:AGE=Frequencies,Sex=Frequencies点击OK计算中心计算中心FORMAT过程过程vPROC FORMAT;vVALUE 格式变量名 分组形式;vRUN;其中其中:格式变量名由用户命名格式变量名由用户命名,在其他在其他过在其他在其他过程中可以引用该格式名程中可以引用该格式名.v引用:PROC 过程名过程名 DATA=数据集名数据集名;过程语句过程语句;FORMAT 数据集中的变量名数据集中的变量名 格式名格式名.;RUN;计算中心计算中心FORMAT过程过程Proc format;Value wfmt low-13=“low 13-16=“13-16 16-high=“high“;Run;Proc print data=temp.class;Format weight wfmt.;若没有该语句,数据集中的Weight数据仍按原始显示Run;计算中心计算中心SAS制作图形的过程制作图形的过程v建立(或转换)数据文件建立(或转换)数据文件v根据设计者的要求选用恰当的模型,生成图形根据设计者的要求选用恰当的模型,生成图形v编辑、整理,得到满意的结果。编辑、整理,得到满意的结果。v图形参数语句图形参数语句Goptions 图形选项设置图形输出的参数,如goptions ftext=SWISS ctext=BLACK htext=1 cells;Symbole 图形选项常对GPLOT过程输出的图形进行参数设置Pattern 图形选项常对CHART过程输出的图形进行参数设置计算中心计算中心使用使用GPLOT过程绘制散点图和连线图过程绘制散点图和连线图v通常用散点图和连线图可以表示:通常用散点图和连线图可以表示:一个变量随另一个变量的变化;变量之间的关系;数据值的分布。vGPLOT过程的一般格式过程的一般格式PROC GPLOT DATA=;PLOT *=/;SYMBOLn;RUN;计算中心计算中心选项选项意义意义说明说明FRAM|NOFRAMFRAM|NOFRAM在在图图形四周加入或不加入形四周加入或不加入边边框框缺省缺省为为加入加入CFRAM=CFRAM=颜颜色色边边框内的框内的颜颜色色缺省缺省为为白色白色AUTOHREF(AUTOVEREF)AUTOHREF(AUTOVEREF)在水平在水平(垂直垂直)轴轴的每个主刻度的每个主刻度处处加入水平加入水平(垂直垂直)参参考考线线NOAXISNOAXIS取消坐取消坐标轴标轴及相关的及相关的图图形元素形元素CAXIS=CAXIS=颜颜色色设设定定轴轴的的颜颜色色CTEXT=CTEXT=颜颜色色设设定与定与轴轴相关字符的相关字符的颜颜色色HAXIS=HAXIS=值值列列举举设设定水平定水平轴轴主刻度的主刻度的值值VAXIS=VAXIS=值值列列举举设设定垂直定垂直轴轴主刻度的主刻度的值值overlayoverlay多个多个图图共坐共坐标标PLOT语句的选项语句的选项计算中心计算中心选项选项意义意义取值取值V=V=符号符号表示点使用的符号表示点使用的符号plus,star,squar,diamond,triangle,point,plus,star,squar,diamond,triangle,point,dot,circledot,circleC=C=颜颜色色表示点的符号及表示点的符号及连线连线的的颜颜色色black,red,green,blue,cyan,magenta,gray,black,red,green,blue,cyan,magenta,gray,pink,orange,brown,yellowpink,orange,brown,yellowCV=CV=颜颜色色专专指点的符号的指点的符号的颜颜色色H=nH=n 指名符号的大小指名符号的大小单单位有:位有:cell,cm,pct,pt,incell,cm,pct,pt,inPOINTLABELPOINTLABEL在点的附近表明在点的附近表明Y Y轴变轴变量的量的值值i=i=连线连线方式方式指明指明连线连线的方式的方式none,join,spline,needlenone,join,spline,needle(从数据点到横(从数据点到横轴轴画直画直线线)HlHl(直(直线线回回归线归线)CI=CI=颜颜色色专专指指连线连线的的颜颜色色L=nL=nn n为线为线型的序号型的序号0 0 空白空白线线,1-1-实线实线,2 2 虚虚线线 W=nW=nn n表示表示线线的的宽宽度度vSYMBOL语句用来控制表示点的符号和点间的连语句用来控制表示点的符号和点间的连线。其中线。其中n是不同是不同SYMBOL语句的序号,可以是语句的序号,可以是1-99,缺省为,缺省为1。选项见下表。选项见下表计算中心计算中心绘制函数绘制函数y=sin(x)的曲线图的曲线图v程序程序DATA SIN;DO X=-2*3.14 TO 2*3.14 BY 0.2;Y1=SIN(X);Y2=COS(X);OUTPUT;END;SYMBOL1 I=J V=PLUS;PROC GPLOT;PLOT Y1*X=1 Y2*X/OVERLAY;RUN;计算中心计算中心GCHART过程过程vGCHART过程用于绘制直方图、饼形图(扇形图)过程用于绘制直方图、饼形图(扇形图)、三维直方图等表示变量分布的图形、三维直方图等表示变量分布的图形v语法格式语法格式PROC GCHART DATA=;图形关键字/绘制垂直条图;BY;指明分组变量;AXISn 定义坐标;Run;计算中心计算中心图形关键字图形关键字vGCHART过程可以使用的图形关键字及其所绘制的图形过程可以使用的图形关键字及其所绘制的图形类型见表类型见表v图形关键字后的变量名,用以指定进行图形描述图形关键字后的变量名,用以指定进行图形描述时的分组变量,可以是数值型的(此时以各组的时的分组变量,可以是数值型的(此时以各组的组中值为分组的标志),也可以是字符型的。组中值为分组的标志),也可以是字符型的。图图形关形关键键字字绘绘制的制的图图形形类类型型图图形关形关键键字字绘绘制的制的图图形形类类型型blockblock方方块图块图piepie饼饼形形图图hbarhbar水平的条形水平的条形图图pie3dpie3d三三维饼维饼形形图图hbar3dhbar3d水平的三水平的三维维条条形形图图donutdonut环环形形图图vbarvbar竖竖立的条形立的条形图图starstar星形星形图图vbar3dvbar3d竖竖立的三立的三维维条条形形图图计算中心计算中心选项列表vTYPE=freq|cfreq|pct|cpct|sum|mean统计图形变量的频数|累计频数|vDiscrete 把数字变量当成离散变量处理把数字变量当成离散变量处理vGROUP=变量名变量名,指定并排分组变量指定并排分组变量vSUBGROUP=变量名变量名,按分组变量的值分段按分组变量的值分段vPatternid=Midpoint,规定连续性图形变量按,规定连续性图形变量按数字列表中的中心点数字次序进行排列数字列表中的中心点数字次序进行排列vSUMVAR=变量名(数值变量),指定要进行统变量名(数值变量),指定要进行统计计算的变量,也就是计计算的变量,也就是“TYPE=统计量关键字统计量关键字”选选项中统计量的计算所依据的变量项中统计量的计算所依据的变量计算中心计算中心PATTERN语句v语句格式:语句格式:pattern 选项选项;v常用选项:常用选项:Color=颜色 设置花纹颜色V=E|S|Ln|Rn|Xn 设置填充参数依次可选:实心|空心|左斜线|右斜线|交叉线,如:Goptions reset=all;Pattern v=x5 c=gray;Proc gchart data=aa.class;Vbar age/discrete;Run;计算中心计算中心画条形图(直方图)画条形图(直方图)v使用使用VBAR关键字可以画条形图关键字可以画条形图proc gchart data=aa.MYDATA;vbar Income;run;结果如图所示结果如图所示计算中心计算中心PROC G3D options;PLOT y*x=z/options;产生三维曲面图Scatter y*x=z/options;产生三维散点图 PLOT语句中的选择项(/options)CAXIS=color 坐标轴颜色 CBOTTOM=color 曲面底部区域颜色 CTOP=color 曲面顶部颜色 CTEXT=color 文本颜色 用用G3D过程绘图过程绘图计算中心计算中心绘制三维曲面图绘制三维曲面图v程序程序Proc g3d data=aa.hat;Plot y*x=z;Run;计算中心计算中心用用INSIGHT绘制图形绘制图形v生成条形图和直方图生成条形图和直方图v生成盒形图和马赛克图生成盒形图和马赛克图v生成散点图生成散点图v生成连线图生成连线图v生成等高线图生成等高线图v生成三维旋转图生成三维旋转图计算中心计算中心生成条形图和直方图生成条形图和直方图v条形图(或直方图)是用来研究一个变量取值分条形图(或直方图)是用来研究一个变量取值分布的图形表示法布的图形表示法。v变量取值的范围分成若干区间,在横轴上,每个变量取值的范围分成若干区间,在横轴上,每个区间上画一个矩形方块,矩形的宽度就是区间的区间上画一个矩形方块,矩形的宽度就是区间的宽度,矩形的高度可以是频数、百分数或比率宽度,矩形的高度可以是频数、百分数或比率。计算中心计算中心生成条形图和直方图生成条形图和直方图v例例从某大学总数为从某大学总数为500名学生的名学生的“概率统计学概率统计学”课程课程的考试成绩中,随机地抽取的考试成绩中,随机地抽取60名学生的考试成绩如表所名学生的考试成绩如表所示,绘制这些数据的频数直方图。示,绘制这些数据的频数直方图。学生成绩6375839145819330728082838176678472588364936375997476959183618285834488726694687888719485827910090838884487280858087766296计算中心计算中心生成条形图和直方图生成条形图和直方图v建立数据集建立数据集scorev启动启动SAS/INSIGHT,打开打开score数据集数据集v在数据窗口,选择在数据窗口,选择cj变量变量v选择菜单命令选择菜单命令“分析分析/直方图直方图/条形图条形图”参数的设置(刻度,参考线等)图的复制与保存计算中心计算中心生成盒形图生成盒形图v盒盒形形图图由由一一个个矩矩形形盒盒和和两两个个须须构构成成。矩矩形形盒盒的的两两侧侧(上上下下)分分别别位位于于上上下下四四分分位位数数的的位位置置,所所以以矩矩形形盒盒的的宽宽度度(高高度度)为四分位极差。为四分位极差。v盒的中间在中位数位置也有一条直线。盒的中间在中位数位置也有一条直线。v盒盒的的两两侧侧(上上下下)的的须须分分别别表表示示自自四四分分位位数数的的边边出出发发延延伸伸至至1.5倍倍四四分分位位极极差差范围内最远的数据点的位置范围内最远的数据点的位置v通通常常对对四四分分位位数数之之外外1.5倍倍四四分分位位极极差差以以外外的的每每个个数数据据用用点点标标出出。这这些些点点有有可可能能是是例例外外数数据据点点,提提示示人人们们去去考考察察它它,在分析时是否需要剔除它。在分析时是否需要剔除它。计算中心计算中心生成连线图生成连线图例例绘家庭收支情况对比图绘家庭收支情况对比图v启动启动SAS/INSIGHT v选择数据集选择数据集mydatav选择选择“分析分析/连线图连线图(Y X)”v将ID变量选定为X轴vIncome,outgo变量选到Y轴v如图右上,单击“确定”。v线图如图右下所示。计算中心计算中心生成连线图生成连线图例例绘绘sin 曲线的连线图和散点图曲线的连线图和散点图v创建数据集创建数据集 sinDATA sin;DO X=0 TO 6.28 BY 0.1;y=SIN(x);OUTPUT;END;RUN;v启动启动SAS/INSIGHT v选择数据集选择数据集sinv选择选择“分析分析/散点图散点图(Y X)”绘散点图绘散点图v选择选择“分析分析/连线图连线图(Y X)”绘线图绘线图计算中心计算中心生成等高线图生成等高线图例例绘等高线图绘等高线图v创建数据集创建数据集HATDATA HAT;DO X=-5 TO 5 BY 0.25;DO Y=-5 TO 5 BY 0.25;Z=SIN(SQRT(X*X+y*Y);OUTPUT;END;END;RUN;v启动启动SAS/INSIGHT v选择数据集选择数据集HATv选择选择“分析分析/等高线图等高线图(Z Y X)”计算中心计算中心生成三维旋转图生成三维旋转图例例绘三维旋转图绘三维旋转图v启动启动SAS/INSIGHT v选择数据集选择数据集HATv选择选择 “分析分析/旋转图旋转图(Z Y X)”计算中心计算中心用用“分析家分析家”绘制图形绘制图形 v条形图条形图 v盒图盒图v饼分图饼分图 饼图饼图(Pie Chart)对分类变量描述其频数取值的比例对分类变量描述其频数取值的比例v连线图连线图 v散点图散点图v等值面图等值面图v概率图概率图 v曲面图等曲面图等计算中心计算中心作业作业1.使用编程方法对使用编程方法对mydata数据集进行加工数据集进行加工:(1)生成生成R_ID=1的子集的子集;(2)生成只包含生成只包含id,income,outgo的子集的子集(用用数据集选项或数据集选项或SAS语句语句);(3)增加新变量增加新变量ratio=outgo/income;(4)用用SELECT和和OUTPUT语句把语句把mydata数数据集拆分为地区编号为据集拆分为地区编号为1和和2的两个数据集的两个数据集.计算中心计算中心作业作业v2.用用DO循环语句读入下列数据表循环语句读入下列数据表:A 1 31.5 A 2 29.8 A 3 32.4 B 1 40.1 B 2 41.1 B 3 42.0 C 1 50.1 C 2 51.2 C 3 50.8 (1)生成有个变量生成有个变量(TYPE,GROUP,Y)个观测的数据集个观测的数据集DABC;(2)用条件用条件IF语句或数据集选项语句或数据集选项where 生成只包含生成只包含TYPE=的数据的数据集集DAC.计算中心计算中心作业作业v2.用用DO循环语句读入下列数据表循环语句读入下列数据表:A 1 31.5 A 2 29.8 A 3 32.4 B 1 40.1 B 2 41.1 B 3 42.0 C 1 50.1 C 2 51.2 C 3 50.8 (1)生成有个变量生成有个变量(TYPE,GROUP,Y)个观测的数据集个观测的数据集DABC;(2)用条件用条件IF语句或数据集选项语句或数据集选项where 生成只包含生成只包含TYPE=的数据的数据集集DAC.计算中心计算中心3、已已知知一一批批统统计计数数据据,包包括括学学号号、性性别别、年年龄龄、计计算算机机成成绩绩、等等级级等项,建立一永久数据集等项,建立一永久数据集CLASS8,绘制等级的条形图。数据如下:,绘制等级的条形图。数据如下:94-001 F 25 88 良 94-002 M 27 90 优94-003 M 24 80 良94-004 F 24 75 中等94-005 F 23 85 良94-006 M 24 65 一般94-007 M 22 70 中等94-008 M 25 76 中等94-009 F 22 60 一般94-010 F 23 66 一般94-011 F 22 78 中等94-012 F 24 85 良94-013 M 23 89 良94-014 F 22 62 一般 作业作业计算中心计算中心4、调用数据集、调用数据集CLASS8,试做等级变量的饼分图。,试做等级变量的饼分图。作业作业计算中心计算中心