《编程语言基础》PPT课件.ppt

上传人:牧羊曲112 文档编号:5641831 上传时间:2023-08-05 格式:PPT 页数:35 大小:201.50KB
返回 下载 相关 举报
《编程语言基础》PPT课件.ppt_第1页
第1页 / 共35页
《编程语言基础》PPT课件.ppt_第2页
第2页 / 共35页
《编程语言基础》PPT课件.ppt_第3页
第3页 / 共35页
《编程语言基础》PPT课件.ppt_第4页
第4页 / 共35页
《编程语言基础》PPT课件.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《编程语言基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《编程语言基础》PPT课件.ppt(35页珍藏版)》请在三一办公上搜索。

1、第二章 SAS编程语言基础,从原始数据到最终报告,SAS编程语言同其它计算机语言一样,也有自己的语法:关键词和连结关键词与其它辅助信息的规则。由SAS语句组成的序列称为SAS程序。一.SAS语句的含义 我们先来看一个实例:,1、SAS语句,例1:某班16名学生4门功课成绩表如下,试计算这16名学生英语、生理的平均分及标准差。,DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好2001087474 61 68良好2001087573 75 46良好2001087679 80 79优秀2001087775 71 68良好20

2、01088485 85 87优秀2001088578 79 75优秀2001088680 76 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66 84及格2001089462 73 65及格2001090982 70 79优秀,/*打印数据*/PROC PRINT Data=score;VAR no x1 x2 x3 x4;RUN;/*计算均数及标准差*/PROC MEANS Data=score;VAR x2 x3;RUN;,利

3、用这段程序就可以完成上面的要求,/*读入数据*/,在这个例子中:DATA,INPUT,CARDS,PROC,VAR,RUN是关键词;score是数据集名;no,x1,x2,x3,x4是变量名;$是特殊字符;MEANS是过程名;Data=是MEANS语句中的选项。现在,我们给出SAS语句的定义:SAS语句是由关键词、SAS名、特殊字符或运算符组成并以分号结尾的字符串。,The MEANS Procedure Variable N Mean Std Dev Minimum Maximum-x2 16 72.8750000 7.8729495 54.0000000 85.0000000 x3 16

4、73.0000000 9.7911525 46.0000000 87.0000000-,二.几个概念1.SAS关键词 位于句首的用以说明语句类型和功能的单词称为SAS语句的关键词。它是SAS语句的主要成份。如:PROC、DATA、VAR、RUN等。2.SAS名 SAS语句中出现的SAS名有很多种类,如变量名、SAS数据集名等。SAS命名规则:1)由1至32个字符组成(SAS7以下版本为最多8个字符);2)由三种字符构成:英文字母A-Z,a-z,下划线_,数字0-9;3)每个名字的第一个字符不能为数字;4)SAS系统保留了一些名字作为特殊的变量名,这些变量名的开头和结尾都用特殊字符下划线表示(如

5、_N_、_ERROR_等)。,3.特殊字符和运算符特殊字符包括:圆括号()、单引号、双引号“、美圆符号$、列指针控制符、行指针控制符#、冒号:、句号.、分号;等;运算符包括:加号+、减号-、乘号*、除号/、乘方*等,等号=、不等号=、小于号、小于等于号=等。三.语句格式 SAS语句的基本格式是:关键词 参数 选项1|选项2|选项3 选择值;关键词:用以说明语句类型和功能的单词;参数:要求用户提供的信息。不用括号,不是任选项。,例如:INPUT x y z;其中:INPUT是关键词,它说明要把数据提供给哪些变量。后面跟的变量名x、y、z 都是参数,即要求用户提供的信息。选项1|选项2|选项3 中

6、的竖线“|”用来分隔各选择项,表示其中任选一个;方括号内的信息是可以选择的。例如:PROC MEANS data=store maxdec=3;其中:PROC是语句的关键词,它说明本语句是过程语句;MEANS是过程名,它说明要调用的过程名称;data=、maxdec=都是选项的关键词,等号后面是用户提供的选择信息。,一系列SAS语句组成一段SAS程序。SAS程序中的语句可分为两类:DATA步和PROC步。这两类步骤是所有SAS程序的组成模块。通常用DATA步产生SAS数据集而用PROC步对SAS数据集内的数据进行分析处理并输出结果。一段SAS程序可由一个DATA步或一个PROC步组成;或者由D

7、ATA步和PROC步两部分组成;也可由多个DATA步和多PROC步组成。,2、SAS程序,DATA步包括:创建一个或几个新的SAS数据集的语句和创建数据集所必须的运算操作语句。DATA步以DATA语句开头,可以包含任意多个SAS程序语句。一个DATA步的基本语句有:DATA语句:表示创建SAS数据集;INPUT语句:对SAS数据集中的变量进行描述;(更多其它语句)CARDS语句:用来指示数据行的开始;数据行;语句:表示数据行的结束。RUN;,1.DATA步(数据步),DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好20

8、01087474 61 68良好2001087573 75 46良好2001087679 80 79优秀2001087775 71 68良好2001088485 85 87优秀2001088578 79 75优秀2001088680 76 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66 84及格2001089462 73 65及格2001090982 70 79优秀,DATA关键词告诉系统,要创建一个SAS数据集,命名为scor

9、e,INPUT关键词告诉系统,数据在程序流中,并且指明数据所对应的变量名及类型。$符号说明它前面的一个变量为字符型。,CARDS关键词告诉系统,其后紧随着的便是数据。,数据行,数据源中不能有分号(;)。,;表示数据行的结束,表示该数据步结束,PROC步要求SAS系统从过程库中调出一个过程模块并执行它。PROC步以PROC语句开始,可以包含多个相应的SAS语句。例如:PROC MEANS Data=score;VAR x2 x3;PROC PRINT Data=score;VAR x1 x3 x4;RUN;注意:一个完整的SAS程序必须以RUN语句结尾方能提交运行。,2.PROC步(过程步),3

10、、编写SAS程序,DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好2001087474 61 68良好2001087573 75 46良好2001087679 80 79优秀2001087775 71 68良好2001088485 85 87优秀2001088578 79 75优秀2001088680 76 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66

11、 84及格2001089462 73 65及格2001090982 70 79优秀,PROC PRINT Data=score;VAR no x1 x2 x3 x4;RUN;PROC MEANS Data=score;VAR x2 x3;RUN;,以上一个DATA步和两个PROC步就构成了一段SAS程序。,上面SAS程序的输出结果如下:,The SAS System 09:22 Monday,August 16,2004 10 Obs no x1 x2 x3 x4 1 20010873 68 71 65 良好 2 20010874 74 61 68 良好 3 20010875 73 75 46

12、 良好 4 20010876 79 80 79 优秀 5 20010877 75 71 68 良好 6 20010884 85 85 87 优秀 7 20010885 78 79 75 优秀 8 20010886 80 76 79 优秀 9 20010887 85 80 82 良好 10 20010888 77 71 75 良好 11 20010889 67 73 71 优秀 12 20010890 75 81 70 良好 13 20011118 70 54 75 及格 14 20010893 70 66 84 及格 15 20010894 62 73 65 及格 16 20010909 82

13、 70 79 优秀 The MEANS Procedure Variable N Mean Std Dev Minimum Maximum-x2 16 72.8750000 7.8729495 54.0000000 85.0000000 x3 16 73.0000000 9.7911525 46.0000000 87.0000000-,(1)书写格式SAS语句可以从一行上的任意位置开始;几个SAS语句可以写在同一行上;一个语句也可以写成几行,只要语句中的单词不被断开即可;在一条语句中各项之间至少要有一个空格;SAS对大小写不敏感。即SAS语句用大写字母、小写字母或大、小写混合书写均可。(2)注

14、释 SAS语句中有一个注释语句,形式为:/*注释内容*/*打印数据*/Proc print data=a;Run;,1.SAS程序的书写方法,程序的执行.在命令框中输入:submit.按 F8 键.点击工具栏中的Submit按钮SAS程序的输出 Log窗口产生程序执行的相关信息;Output窗口显示输出的结果(主要是过程步),2.SAS程序的的执行与输出,4 SAS表达式,SAS表达式是由一系列算符和运算对象形成的一个指令集,它被执行后产生一个目标值。运算对象是SAS变量和SAS常数;算符是特殊的运算符、函数和括号。下列式子都是表达式。X+1 3 LOG(X)LOG10(X)P/A*100 A

15、GE100 1-EXP(N/(N-1)A=B=C STATE=CA 在DATA步中,为了对变量进行变换,建立新变量、条件处理、计算新值及指定新值,都需要使用SAS表达式。,一.SAS常量 SAS常量用来表示固定的值,它或者是一个数字,或者是用引号引起来的字符串、或者是其它特殊记号。SAS常用的常量有:数值常量、字符常量、日期时间常量1.数值常量:数值常量可以包括小数点,负号和E记号,与通用的数值记法类似。例如:1-5 1.23 1.2E23 0.1 0.5E-10 SAS系统中,缺失值用小数点来(.)表示。,2.字符常量:字符常量是由引号(单、双)括起来的字符串,最多可达32767个字符。在下

16、面的语句中:IF Name=“TOM”THEN DO;“TOM”就是一个字符常量。缺失的字符常量值为空字符,表示为(两个连续的单引号)或者“”。,3.日期、时间常量:日期时间常量是将日期时间由引号(单、双)括起来,并在后面加上 d(日期常量)或 t(时间常量)或 dt(日期时间常量)例如:日期常量:15may2008d 时间常量:16:45:01t 日期时间常量:15may2008:16:45:01dt,二 SAS变量:描述给定特征的数值集合的指标称为变量。SAS变量的特征:变量名、类型、存储长度、标签、输入格式、输出格式,存储长度,默认情况下所有的变量都定义为8字节。字符变量的长度可为1-3

17、2767字节数值变量的长度可为3-8字节标签是对变量的补充说明,可以为任意字符,长度可多达256个字节。,输入输出格式,原始数据值,SAS变量的值,格式化的SAS变量值,Dollar10.,Comma8.,548,231,28SEP2009,18168,09/28/2009,Date9.,MMDDYY10.,$548,231,548231,日期和时间数据的存储,SAS采用数值存储日期和时间形式的数据。在默认情况下,SAS系统以0代表1960年1月1日0时。其它日期在SAS系统中被存储为与该日期相差的天数。例如,1960年1月3日,在系统中存为2。2009年9月28日,在系统中存为18168。注

18、意:为了使数值型变量显示日期形式,必须使用日期型的输出格式,同样地为了以日期形式输入日期必须使用日期型的输入格式。,SAS变量分为两类,数值变量(Num)与字符变量(Char)。数值型变量只能取数值。可以有正负号及小数点(+、),但不能有逗号(,)。数值型是SAS的默认变量类型字符型变量可以取字符、字母、特殊字符以及数字为值。在DATA步的input语句中需要加$来定义字符型变量。但引用时不加$定义name为字符变量:input name$;引用时不加$符号:if name=Tom then output;,三 SAS算符 SAS算符是一些符号,它们要求作比较、算术运算或逻辑运算。1.算术算符

19、:算术算符表示执行一种算术运算,包括:+相加-相减*相乘/相除*乘方 注意:如果算术算符有一个运算对象是缺失值,运算结果也是缺失值。例如,y=x3+.;则y的值为缺失值(.),2.比较算符 比较算符确定两个量之间的一种关系,如果这种关系成立,则输出结果为1(真);如果它不成立,则输出结果为0(假)。比较算符包括:=(EQ)等于=(NE)不等于(GT)大于=(GE)大于等于=(LE)小于等于,3.逻辑算符:逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接一系列比较式。逻辑算符包括:&(AND)与;|(OR)或;(NOT)非 例如,age=25 AND sex=男 或 age=25

20、&sex=男 age=25 OR sex=男4.运算次序:关于运算次序,SAS有如下的三个准则:准则1:在括号里的表达式先计算;准则2:较高优先级的运算先被执行。,下面是各运算符的优先等级(排在前面的优先):1级*、(not)2级*、/3级+、-、4级、=、2*(3*2)2)当两个比较算符围着一个量时,则等价于一个and运算。例如:12 12age and age20,一.SAS函数1.SAS函数形式:函数名(参数1,参数2,)例如:MEAN(x,y,z,a)SUM(x,y,z)MIN(SUM(x,y,z),1000),5 SAS函数,2.SAS函数的分类:,二 SAS函数的参数及三种形式1.

21、SAS函数的参数 参数可以是简单的变量名、常数或者表达式。例如:max(cash,credit)sqrt(2500)min(sum(of x1-x10),y)2.参数的表示法 1)以逗号(,)分隔参数,如 sum(x1,x2,x3,x4,x5,x6,x7,x8)2)去掉逗号(,),最前面加上“of”,如 sum(of x1 x2 x3 x4 x5 x6 x7 x8)3)去掉逗号(,),最前面加上“of”,变量简写,如 sum(of x1-x8),三.常用的函数 1、数学函数 abs():求绝对值 mod(var1,var2):求var1除以var2后的余数 sqrt():求平方根值 int()

22、:取整函数,截取小数部分 round(2.345,规定):按规定四舍五入。规定取:0.1,0.01,log():计算以e为底的对数值 log10():计算以10为底的对数值2、三角函数 cos()sin()3、概率分布函数 4、样本统计函数 max():求最大值 min():求最小值 mean():求均数 std():求标准差 sum():求和,5、随机函数 rannor():产生一个标准正态分布的随机数6、字符函数 substr(字符串,起始位置,长度):从一个字符串中抽取指定长度的子串 trim():去掉字符串尾部的空格 upcase()变大写 length()求字符串的长度7、日期时间函数 year():从日期变量中抽取“年份”值 month():从日期变量中抽取“月份”值 day():返回日期变量的天数值 mdy(月,日,年):转换成日期值形式 DATEPART(datetime)从日期时间中提取日期具体的函数请查阅:SAS Online Help-SAS Language-SAS Functions,第二章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号