数模啊sas软件教程前面讲过SAS系统用数据步生成和管理过程进行分_第1页
数模啊sas软件教程前面讲过SAS系统用数据步生成和管理过程进行分_第2页
数模啊sas软件教程前面讲过SAS系统用数据步生成和管理过程进行分_第3页
数模啊sas软件教程前面讲过SAS系统用数据步生成和管理过程进行分_第4页
数模啊sas软件教程前面讲过SAS系统用数据步生成和管理过程进行分_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章SAS过程初步本章介绍SAS过程步的一般用法和常用语句的含义,以及几个简单报表、分析、绘图过程§3.1SAS过程用法及常用语句SAS过程用法 过程名DATA=输入数据集选项;过程语句/ 过程语句 选项PROC语句的选项是可选的,用来规定过程运行的一些设置,如果有多个选项用空格RUNRUN语句而在下一个过程步或数据步的开始处结束,另外PROC语句之后、结束之前可以有若干SAS过程步有些是对数据集作某种变换(SORT过程对数据集排序OUTPUT窗口(高精度SAS过程步常用语句SAS过程步中常见的语句,更具体的用法可以在以后实际用到一、VAR语句VAR语句在很多过程中用来指定分析变量。在VAR后面给出变量 变量名1变量名 ⋯变量名变量名列表可以使用省略的形式,如X1-X3,MATH--等。VAR用法例如varmathMODEL语句 =/选项modelmath=三、BYCLASSprocprintdata=c9501; TheSAS 98 45当于因变量。而在另一些过程(如MEANS)中,CLASS语句作用与BY语句类似,可以指定四、OUTPUTOUTPUT语句指定输出结果存放的数据集。不同过程中把输出结果存入数据集的方法各有不同,OUTPUT语句是用得最多的一种,其一般格式为:OUTPUTOUT=输出数据集名关键字==OUT=给出了要生成的结果数据集的名字,用“关键字=变量名”的方式指定了输procmeansvaroutputout=resultn=nmean=meanmathvar=varmath;procprintdata=result;五、FREQ语句和WEIGHT完全相同的重复观测。FREQ变量只取整数值。如freqWEIGHT语句指定一个权重变量,在某些允许的过程中代表权重,其值与观测对六、ID语句但是,如果数据集中有一个变量可以用来区分观测(如人名、省市名,就可以用ID语句id指定用变量NAME的值来标识观测。七、WHEREwheremath>=60and八、LABELFORMAT 语句为变量指定一个,很多过程可以使用这样的。其格式 变量名=' 变量名=' procprintdata=sasuser.c9501label;idname;varmathlabelname=''math='数学成绩'='语文成绩';procprintdata=sasuser.c9501;formatmath5.15.1;LABEL语句规定变量的,用LENGTH语句规定变量的存贮长度,用ATTRIB语句同§3.2PRINT过程制作列表报告基本用法proc了列出一个指定的数据集,在PROC语句中使用DATA=选项指定要列表的输入数据集procprintdata=sasuser.gpa;在过程内使用VAR语句可以指定要列出的变量并指定顺序procprintdata=c9501;varname;TheSAS 3男109男5110女可以在PROCPRINT语句中加入NOOBS选项,如:procprintdata=c9501noobs;使用WHERE可以指定只列出满足条件的观测。比如,procprintwherenamein('',''); MATH AVG1男4男使用中文列标题PRINT语句中加LABEL选项,例如:procprintdata=c9501noobslabel;varname mathavg;labelname='' =''math='数学'='语文'avg='平均分';TheSAS 男女男男女3.2.3标题及全程语句我们从上面的输出结果看到,在每页输出结果上面有一行标题,内容为“TheSAS '标题内容title'951则输出结果的标题为“951班成绩表”。要注意的是,TITLE语句是一个所谓的“全程”用另一个同样的全程语句来修改它。比如,我们在上面用TITLE语句指定了一个标题,那么,这个标题的作用将持续下去,虽然下一个过程没有用TITLE语句指定标题它也会出现在下一个过程的输出中,例如在上面用TITLEC9501数据集的列表输出加了标题procmeansdata=sasuser.gpa;用全程语句FOOTNOTE可以为输出加脚注,如:footnote'第三章例新的脚注,或用空FOOTNOTE语句取消脚注为止。optionsnopagenodatelinesize=78NOPAGE表示输出不显示页号(PAGE则规定显示页号)NODATE表示不在每,LINESIZE=78个字符,PAGESIZE=60规定输出每页为60行,不足时用空行补齐。用BY语句分组处理使用带有BY语句的过程之前一般用SORT过程对数据集按照分类变量排序。例如:procsortdata=c9501; procprintdata=c9501; AVG 92 98 AVG 89 80 计算总计和小计datainputname$amount;2015王思明2050;中指定要求和的变量名AMOUNT:procprintdata=bkmoneynoobs;sumamount; 20

BY语句SUM语句就可以既计算总和也计算分组小计。比如,我们除了要计算学生课外书总支出外还想分男、计算总支出,可以用下面的程序。注意由于数据集BKMONEY中没有的信息,我们用了带MERGE语句的数据步来横向合并C9501和BKMONEY两个数据集。procsortdata=c9501;byname;procsortdata=bkmoney;byname;datamergec9501bkmoney;byname;procsortdata=c9501new; procprintdata=c9501new; AVG 92 98 50 AVG 80 §3.3用TABULATE过程作统计量表格

PRINT过程可以制作列表,它列出所有观测。当观测个数很多时,这样的列表意义不 可以作出很复杂的表,其一般 页维说明,行维说明,说明/选项;分别计算。VAR语句给出分析变量,分析变量必须是数值型(区间)变量,要计算的统计proctabulatedata=c9501new;class;vartable,amount; | | 用的值区分,AMOUNT在,它画在列标题中。占全部总和的百分比。例如,我们可以用如下程序求男、的数学、语文成绩平均值及proctabulatedata=c9501new;class;varmathtable,(math)*(meanstd); | | | | | | 字。把上面的例子中的TABLE语句改成: all,(math)*(mean | | | | | 量和分析变量以构成分类计算分析变量的统计量。例如,上面的TABLE语句写成table all)*math*(mean | KEYLABEL关键字='proctabulatedata=c9501new;class;varmathtable( all),(math)*(meanstd);keylabelmean='平均值std=all='总计';label=''math='数学'='语文'; 数 语 | | | | |总 §3.4SORT过程排序SASBYSORT过程据集C9501的观测(行)按排序(分类可以用此程序:procsortdata=c9501; procsortdata=c9501; descendingavg;结果可以用procprint;run;显示出来。§3.5MEANS过程、UNIVARIATE过程、FREQ过程计算均值、标准差等数字特征,而FREQ过程对离散变量计算取值频数分布。procmeansdata=c9501;varmath;NStd55 如果使用UNIVARIATE过程则可以计算较多的统计量,例如我们分析中的变量GPA,可以用如procunivariatedata=sasuser.gpa;vargpa;Univariate CollegeGradePointAverageNSumStd-StdNum^=Num>Sgn100%6675%50%25%0%Q3-它显示的各统计量已在1.3.7中作了介绍。其中T:Mean=0是用来检验变量的平均值是否为0的我们想了解C9501中的分布情况,可以用:procfreqdata=c9501; Frequency

男33女25百分比。也可以对区间变量使用FREQ过程列出频数分布,如tables“Tables|FrequencyTable”得到。§3.6用CORR过程计算相关系数proccorrdata=sasuser.gpa;varhsmhsshse;Correlation3'VAR'Variables:HSM SimpleStatisticsNStdSimple HighSchoolMathHighSchoolScienceHighSchoolEnglishPearsonCorrelationCoefficients/Prob>|R|underHo:Rho=0/N=HighSchoolMathHighSchoolScienceHighSchoolEnglish系数矩阵。比如,HSMHSS0.57569,这个相关系数为零的显著性概相关系数,第二个数是检验这两个变量之间相关系数为0的检验的显著性概率值(p值§3.7用SAS/GRAPH绘图SAS可以把存贮在SAS数据集中的数据以图形的方式形象直观地显示出来。在SAS/GRAPH模块的支持下,SAS可以作散点图、曲线图、直方图、扇面图、三维曲面图、散点图和曲线图SASM的散点图,只要用procgplotdata=sasuser.gpa;symboli=nonev=star;plotsatv*satm;结果显示了一个GRAPHICS窗口,绘出了以SATV为纵轴、以SATM为横轴的散点图(1GPLOTPLOT语句指定绘图用的变量。SYMBOL语SYMBOL2,SYMBOL3带编号的相当于SYMBOL1为了绘制连线,只要在procgplot;

1SATVSATM2symboli=joinv=star;plotco*datetime;符号可以在SYMBOL语句中用PLOT语句中指定多个因变量(自变量一般应为同一,procgplotdata=sasuser.air;symbol1i=joinv=noneline=1;symbol2i=joinv=noneline=2plotco*datetime=1so2*datetime=2/overlay;SYMBOLSYMBOL语句指定LINE=1,表示SYMBOL语句指定了LINE=2表示线型为虚PLOTSYMBOL语句的规定来画,n对应于SYMBOL语句的序号。SYMBOL语句的I=选项还可以取SPLINE表示在散点间连接连样条曲线,

395procgplotdata=sasuser.gpa;symboli=rlcli95v=star;plotsatv*satm; |Graphics|GPLOT直方图和扇形图GCHART过程绘制直方图、扇形例如要绘SASUSER.GPAGPA的分procgchartdata=sasuser.gpa;vbargpa;INSIGHT中绘制的直方图有所不INSIGHT中横轴标的是区间的端点值。可以绘制分组的直方图,例如按procgchartdata=sasuser.gpa;vbargpa/group=;结果见图5在GCHART中用PIE语句绘制表示频procgchartdata=sasuser.gpa; 结果见图6。如果想显示百分比值,只要在PIE语句中加入TYPE=PERCENT选项, /type=percent;。绘制三维直方图。例如,在SASUSER.HOUSES有各种房子的情况,

4GPA56procgchart;blockstyle/group=bedrooms;图形见图7线

7我们可以用G3D过程绘制曲面图形,用GCONTOUR绘制曲面的等高线图。例如,我们想绘制一个二维正态分布曲面的图形,假设(X,Y)服从联合正态分布,11的为f(x,y)

ax2y22r2a(1r2

2a(1r2 dox=-3to3bydoy=-3*a2to3*a2by0.3*a2; (a*x*x+y*y-2*r*a2*x*y));keepxyz;procg3ddata=dnorm2;plotx*y=z;8GCONTOUR过程可以绘制曲面对应的procgcontourdata=dnorm2;plotx*y=z;见图9

89图形的调整与输出各绘图过程中都指定了丰富的选项来调整图形,读者可以参考有关资料或查系统的帮TTLE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论