sas软件介绍(编辑修改稿)内容摘要:

中用来指定模型的形式。 其一般形式为 MODEL 因变量 = 自变量表 / 选项。 比如 ,将下列语句放在某一过程步中 model math=chinese。 则用语文成绩预测数学成绩。 CLASS语句 WEIGHT语句 FORMAT语句 六、 SAS语言入门  SAS是一种专用的数据处理、统计计算语言,但是它也包含一般的高级语言编程能力并扩充了许多数学、统计等方面的函数。 由于 SAS的数据处理功能非常强大,我们并不提倡用它来编复杂的程序,因此,我们只介绍 SAS语言用来进行一般编程计算的功能。  SAS语言的编程计算能力主要由 SAS数据步提供(另外 SAS还提供了一个 SAS/IML模块可以进行向量、矩阵运算,读者有兴趣可以自己学习)。 所以,下面给出的例子如果没有写DATA语句实际应该在例子前面加上 DATA语句,在后面加上 RUN语句才能运行。 注意 DATA语句总是以关键字 DATA 开头,后面给出一个数据集名,就是本数据步要生成的数据集的名字,例如:  data tmp1。  也可以省略数据集名,这时 SAS自动生成一个临时数据集名。 1.赋值语句 在 SAS中用赋值语句计算一个值并存放到变量中。 格式为 变量名 = 表达式。 例如: avg = (math + chinese/120*100)/2。 /* 计算平均分数 ,赋值给变量 avg*/ isfem = (sex=39。 女 39。 )。 /*先生成一个取值为 0或 1的值,性别为女时为 1,否则为 0*,然后赋值给变量 isffem*/ newv = .。 /*将变量赋了缺失值 */ 注意想试验上述语句要把它们放入数据步中,并且等号右边的表达式中的各变量应该是存在的,否则会得到缺失值结果。   SAS数据步的输出一般是数据集,用赋值语句计算的结果会自动写入数据集。 SAS也提供了一个 PUT语句,可以象其它语言程序的PRINT、 WRITE(*,*)、 printf等语句一样立即打印输出结果。 PUT的基本语法很多 ,只举几例: data。 x=。 y=sin(x)。 put 39。 Sine function value of 39。 x 39。 is 39。 y。 run。 结果将在运行记录窗口显示一行 Sine function value of is 在 PUT语句中使用“变量名=”来指定输出项可以显示带有变量名的输出结果,比如把上程序中的 PUT语句改为 put x= y=。 则结果在 LOG窗口显示为 X= Y= 分支结构 如果需要在某条件满足时执行某一操作,可以用 IF 条件 THEN 程序块 ELSE 程序块 的结构,其中 Else语句及其后的程序块可以省略。 需要注意的是,如果程序块只有一句,则可直接写出,否则应以 DO开始 ,以 END结束。 比如, if max(a)20 then p=0。 else p=1。 上述程序当 max(a)20时 p=0,否则 p=1。 下述程序则是复合的 IF结构。 IF x0 THEN DO。 PUT 39。 X为正数 39。 x = 2*x。 PUT x=。 END。 注意 SAS的分支结构的写法与其它语言有些不同,它不用 ENDIF结束。  循环结构 SAS数据步可以使用循环结构,主要的是两种:计数 DO循环和当型、直到型循环。 计数 DO循环的写法是: DO 计数变量 = 起始值 TO 结束值 BY 步长。 循环体语句 …… END。 在循环体中可以用 LEAVE语句跳出循环,相当于 C语言的 break语句。 用 CONTINUE语句可以立即结束本轮循环并转入下一轮循环的判断与执行 . 当型循环 的语法是: DO WHILE(循环继续条件 )。 循环体语句 …… END。 程序先判断循环继续条件是否成立,成立时执行循环体语句,再判断循环继续条件,如此重复,直到循环继续条件不再成立。 直到型循环 的写法是: DO UNTIL (循环退出条件 )。 循环体语句 …… END。 程序先执行循环体,然后判断循环退出条件是否成立,成立则结束循环,否则继续。 注意每轮循环都是先执行循环体再判断是否退出。 如: data。 DO i = 1 TO 20 BY 2。 j = i**3。 put i 3. j 5.。 END。 run。 可以输出一个 1, 3, 5, 7, … , 19的立方表。 七、 SAS的基本统计分析功能  前面我们已经对 SAS系统进行了简要的介绍,下面我们讲如何用 SAS进行基本的统计检验、线性回归、方差分析等基本统计分析。 我们既使用 SAS语言编程,也使用 SAS的菜单界面。  统计中常用的是对总体作正态性检验、均值检验、方差检验。 下面我们就专门介绍这几个检验。  1. 正态性检验 在 PROC UNIVARIATE语句中加上 NORMAL选项就可以进行正态性检验。  例 1 我们有两个班学生的考试成绩的数据,分数如下:  31 67 73 45 75 41 99 64 95 71 97 74 77 28 95 74 63 52 79 40 84 86 63 69 21 4 45 86 52 18 44 74 74 64 91 63 4 31 85 21 60 35 25 31 58 82 70 64 10 75 78 88 96 51 86 74 50 64 15 88 27 37 80 69 25 74 97 44 47 88 79 63 3 50 67 75  问这次考试的分数是否服从正态分布。  要检验这些数据是否服从正态分布,只要用如下UNIVARIATE过程:  data stuscore。 /*首先输入数据 */  input score@@。  cards。  31 67 73 45 75 41 99 64 95 71 97 74  …… (其它数据略 ) 。  PROC UNIVARIATE data=stuscore normal。 /*正态分布检验 */  VAR score。  RUN。  结果(部分)如下: Tests for Normality Test Statistic p Value ShapiroWilk W Pr W KolmogorovSmirnov D Pr D Cramervon Mises。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。