资源预览内容
第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
第9页 / 共63页
第10页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Chapter2 SAS语言初步语言初步一、一、SAS语言简介语言简介二、二、SAS语言构成语言构成 三、三、SAS用作一般高级语言用作一般高级语言四、四、SAS常用函数常用函数 1一、一、SAS语言简介语言简介 SAS系统强大的数据管理能力、计算能力、分析能力系统强大的数据管理能力、计算能力、分析能力依赖于作为其基础的依赖于作为其基础的SAS语言。语言。SAS语言是一个专用的数语言是一个专用的数据管理与分析语言,它的数据管理功能类似于数据库语言据管理与分析语言,它的数据管理功能类似于数据库语言(如(如FoxPro),但又添加了一般高级程序设计语言的许),但又添加了一般高级程序设计语言的许多成分(如分支、循环、数组),以及专用于数据管理、多成分(如分支、循环、数组),以及专用于数据管理、统计计算的函数。统计计算的函数。SAS系统的数据管理、报表、图形、统系统的数据管理、报表、图形、统计分析等功能都可以用计分析等功能都可以用SAS语言程序来调用,只要指定要语言程序来调用,只要指定要完成的任务就可以由完成的任务就可以由SAS系统按照预先设计好的程序去进系统按照预先设计好的程序去进行,所以行,所以SAS 语言和语言和FoxPro等一样是一种第四代语言。等一样是一种第四代语言。这里简单介绍这里简单介绍SAS语言的基本成分与规则。语言的基本成分与规则。上一页下一页返回本节首页2二、二、SAS语言构成语言构成SAS语句语句 SAS表达式表达式 SAS程序规则程序规则 上一页下一页返回本节首页3SAS语句语句 SAS语言程序由数据步和过程步组成。数据步用来生语言程序由数据步和过程步组成。数据步用来生成数据集、计算、整理数据,过程步用来对数据进行分析、成数据集、计算、整理数据,过程步用来对数据进行分析、报告。报告。SAS语言的基本单位是语句,每个语言的基本单位是语句,每个SAS语句一般由语句一般由一个关键字(如一个关键字(如DATA,PROC,INPUT,CARDS,BY)开头,包含开头,包含SAS名字、特殊字符、运算符等,以分号结束。名字、特殊字符、运算符等,以分号结束。SAS关键字是用于关键字是用于SAS语句开头的特殊单词,语句开头的特殊单词,SAS语句除语句除了赋值、累加、注释、空语句以外都以关键字开头。了赋值、累加、注释、空语句以外都以关键字开头。SAS名字在名字在SAS程序中标识各种程序中标识各种SAS成分,如变量、数据集、成分,如变量、数据集、数据库,等等。数据库,等等。SAS 名字由名字由1到到8个字母、数字、下划线组个字母、数字、下划线组成,第一个字符必须是字母或下划线。成,第一个字符必须是字母或下划线。SAS关键字和关键字和SAS 名字都不分大小写。名字都不分大小写。上一页下一页返回本节首页4SAS表达式表达式 SAS数据步程序中的计算用表达式完成。表数据步程序中的计算用表达式完成。表达式把达式把常量常量、变量变量、函数调用用、函数调用用运算符运算符、括号连、括号连接起来得到一个计算结果。接起来得到一个计算结果。 上一页下一页返回本节首页5常常 量量 SAS常量主要有常量主要有数值型数值型、字符型字符型两种,并且还提供两种,并且还提供了用于表达了用于表达日期、时间日期、时间的数据类型。的数据类型。数值型:数值型常数可以用整数、定点实数、科学计数数值型:数值型常数可以用整数、定点实数、科学计数法实数表示。如:法实数表示。如: 12,7.5,2.5E10字符型:字符型常数为两边用单撇号或两边用双撇号包字符型:字符型常数为两边用单撇号或两边用双撇号包围的若干字符。如:围的若干字符。如: Beijing,Li Ming,李明李明上一页下一页返回本节首页6日期、时间:日期、时间: 日期型常数是在表示日期的字符串后加一个字日期型常数是在表示日期的字符串后加一个字母母d大小写均可),中间没有空格。时间型常数是在大小写均可),中间没有空格。时间型常数是在表示时间的字符串后加一个字母表示时间的字符串后加一个字母t。日期时间型常数。日期时间型常数在表示日期时间的字符串后加字母在表示日期时间的字符串后加字母dt。日期型:日期型:13JUL1998d 时间型:时间型:14:20t 日期时间型:日期时间型:13JUL1998:14:20:32dt上一页下一页返回本节首页7 因为因为SAS是一种数据处理语言,而实际数据中是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问经常会遇到缺失值,比如没有观测到数值,被访问人不肯答,等等。人不肯答,等等。SAS中用一个单独的中用一个单独的小数点小数点来表来表示缺失值常量。示缺失值常量。上一页下一页返回本节首页8变变 量量 SAS变量的基本类型有两种:数值型和字符型。日期、变量的基本类型有两种:数值型和字符型。日期、时间等变量存为数值型时间等变量存为数值型(实际记录为距实际记录为距1960/01/01的天数)的天数)。SAS的数值型变量可以存储任意整数、定点实数、浮点实数,的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用一般不关心其区别。数值型变量在数据集中的存贮一般使用8个字节。个字节。SAS的字符型变量缺省的长度是的字符型变量缺省的长度是8个字符,但是如果个字符,但是如果在在INPUT 语句中输入字符型变量时指定了长度则不受此限制。语句中输入字符型变量时指定了长度则不受此限制。可以用可以用LENGTH语句直接指定变量长度。语句直接指定变量长度。LENGTH 语句一般应出现在变量定义之前,格式为:语句一般应出现在变量定义之前,格式为:LENGTH 变量名变量名 $ 长度长度;例如:例如:LENGTH name $ 20;上一页下一页返回本节首页9运算符运算符 SAS运算符包括运算符包括算术算术、比较比较、逻辑逻辑及及其它的其它的运算符运算符。上一页下一页返回本节首页10算术运算符算术运算符 算术运算符:算术运算符: * / *,运算优先级按通,运算优先级按通常的优先规则。常的优先规则。上一页下一页返回本节首页11比较运算符比较运算符比较运算符用于比较常量、变量的值大小、相等,包括比较运算符用于比较常量、变量的值大小、相等,包括 = 1000) AND (salary = 1000) AND (salary 2000) 表示工资收入在表示工资收入在1000100020002000之间(不含之间(不含20002000) (age = 3) OR (sex = (age = 1000) AND (salary = 1000) AND (salary 2000) 表示工资收入不在表示工资收入不在1000100020002000之间之间 复杂的逻辑表达式最好用括号表示其运算优先级复杂的逻辑表达式最好用括号表示其运算优先级, ,以免误以免误记优先规则并可利于阅读程序。记优先规则并可利于阅读程序。上一页下一页返回本节首页15其它的运算符其它的运算符其它的运算符:其它的运算符:|(两个连续的(两个连续的|号),两个字符串连接号),两个字符串连接 取两个运算值中较大一个的(比如取两个运算值中较大一个的(比如35结果为结果为5)5结果为结果为3)注意:注意:符在有些语言中用作符在有些语言中用作“不等于不等于”比较算符,而比较算符,而SAS 中用法中用法则较特殊。则较特殊。上一页下一页返回本节首页16SAS程序规则程序规则 SAS程序由语句构成。每个语句以程序由语句构成。每个语句以分号结尾。结尾。在在SAS程序中,一个语句可以写到多行(不需任何程序中,一个语句可以写到多行(不需任何续行标志),也可以在一行连续写几个语句。续行标志),也可以在一行连续写几个语句。SAS语言中只要允许用一个空格的地方就可以加入任意语言中只要允许用一个空格的地方就可以加入任意多个空白(空格、制表符、回车),允许用空格的多个空白(空格、制表符、回车),允许用空格的地方是名字周围、运算符周围。另外,地方是名字周围、运算符周围。另外,SAS关键字关键字和名字大小写不分,但字符型数据值要区分大小写,和名字大小写不分,但字符型数据值要区分大小写,比如比如Beijing 和和BEIJING被认为是不同的数据值。被认为是不同的数据值。上一页下一页返回本节首页17 在在SAS程序中可以加入注释,注释的内容用程序中可以加入注释,注释的内容用/*和和*/在两端界定。这种注释可以出现在任何允许加在两端界定。这种注释可以出现在任何允许加入空格的位置,可以占多行。入空格的位置,可以占多行。SAS中一般只把注释中一般只把注释单独占一行或若干行,不把注释与程序代码放在同单独占一行或若干行,不把注释与程序代码放在同一行。注释的另一个作用是把某些代码暂时屏蔽使一行。注释的另一个作用是把某些代码暂时屏蔽使其不能运行。其不能运行。上一页下一页返回本节首页18 SAS程序包括数据步和过程步两种结构,每一程序包括数据步和过程步两种结构,每一个步是一段相对完整的可以单独运行的程序。数据个步是一段相对完整的可以单独运行的程序。数据步用来生成、整理数据和自编程计算,过程步调用步用来生成、整理数据和自编程计算,过程步调用SAS已编好的处理过程对数据进行处理。自己用已编好的处理过程对数据进行处理。自己用SAS编程序进行计算主要在数据步中进行。编程序进行计算主要在数据步中进行。上一页下一页返回本节首页19 SAS数据步以数据步以DATA语句开头,以语句开头,以RUN语句结语句结尾。尾。DATA步中可以使用步中可以使用INPUT、CARDS、INFILE 、SET、MERGE等语句指定数据来源输入数据,也等语句指定数据来源输入数据,也可以用赋值、分支、循环等编程结构直接生成数据可以用赋值、分支、循环等编程结构直接生成数据或对输入的数据进行修改。或对输入的数据进行修改。上一页下一页返回本节首页20三、三、SAS用作一般高级语言用作一般高级语言 SAS是一种专用的数据处理、统计计算语言,但是它也包是一种专用的数据处理、统计计算语言,但是它也包含一般的高级语言编程能力并扩充了许多数学、统计等方面的含一般的高级语言编程能力并扩充了许多数学、统计等方面的函数。函数。 SAS语言的编程计算能力主要由语言的编程计算能力主要由SAS数据步提供。数据步提供。DATA语句以关键字语句以关键字DATA 开头,后面给出一个数据集名,例如:开头,后面给出一个数据集名,例如: data out1; 则在本数据步要生成的数据集,其名字为则在本数据步要生成的数据集,其名字为out1。我们也可。我们也可以省略数据集名,这时以省略数据集名,这时SAS自动生成一个临时数据集名。也可自动生成一个临时数据集名。也可以使用特殊名字以使用特殊名字_NULL_ ,表示本数据步不生成数据集。,表示本数据步不生成数据集。上一页下一页返回本节首页21三、三、SAS用作一般高级语言用作一般高级语言赋值语句赋值语句 输出语句输出语句 分支结构分支结构 循环结构循环结构上一页下一页返回本节首页22赋值语句赋值语句在在SAS中用赋值语句计算一个值并存放到变量中。中用赋值语句计算一个值并存放到变量中。格式为格式为 变量名变量名 表达式表达式;例如:例如: avg = (math + chinese)/2;isfem = (sex=女女);y=sin(x)*2;newv = .; 其中第一个赋值语句用一个公式计算平均分数。第二个生其中第一个赋值语句用一个公式计算平均分数。第二个生成一个取值为成一个取值为0或或1的变量,性别为女时为的变量,性别为女时为1,否则为,否则为0。第三个。第三个使用了正弦函数和乘方运算。第四个给变量赋了缺失值。使用了正弦函数和乘方运算。第四个给变量赋了缺失值。上一页下一页返回本节首页23输出语句输出语句 SAS数据步的输出一般是数据集,用赋值语句计算的结果会自数据步的输出一般是数据集,用赋值语句计算的结果会自动写入数据集。动写入数据集。SAS也提供了一个也提供了一个PUT语句用于立即打印输出结果。语句用于立即打印输出结果。PUT语句的语法:语句的语法:PUT 输出项表输出项表输出项表中只能是变量或字符串,项间用空格隔开。如:输出项表中只能是变量或字符串,项间用空格隔开。如:data; x=0.5; y=sin(x); put Sine function value of x is y;run;结果将在运行记录窗口显示一行结果将在运行记录窗口显示一行 Sine function value of 0.5 is 0.4794255386上一页下一页返回本节首页24PUT说明说明在在PUT语句中,若在变量名后加语句中,若在变量名后加“”,则指定,则指定输出项可以显示带有变量名的输出结果。输出项可以显示带有变量名的输出结果。比如把上程序中的比如把上程序中的PUT语句改为语句改为 put x= y=;则结果在则结果在LOG窗口显示为窗口显示为 X=0.5 Y=0.4794255386上一页下一页返回本节首页25指定变量输出项的具体列位置及小数位数指定变量输出项的具体列位置及小数位数绝对位置格式:绝对位置格式:变量变量 起始列起始列-结束列结束列.小数位数小数位数比如,比如,put x 10-20 .6 y 30-40 .6;指定把指定把X数值显示在第数值显示在第1020列,保留列,保留6位小数,把位小数,把Y数值显示在第数值显示在第3040列,保留列,保留6位小数。位小数。在指定的列位置内,数值型数据靠右对齐,字符型在指定的列位置内,数值型数据靠右对齐,字符型数据靠左对齐。变量为整数值或者字符型则不指定数据靠左对齐。变量为整数值或者字符型则不指定小数位数。小数位数。上一页下一页返回本节首页26相对位置格式:相对位置格式:变量变量 宽度宽度.小数位数小数位数(用于数值型用于数值型)变量变量 $宽度宽度.(用于字符型用于字符型)如:如:put x 20.8 y 20.8; 使使X占用第占用第120列,列,8位小位小数,右对齐;数,右对齐;Y占用第占用第2140列,列,8位小数,右对齐。位小数,右对齐。而而put name $10.;使使name占用占用10列。列。 输出占位不满指定宽度时,数值型数据向右对齐,输出占位不满指定宽度时,数值型数据向右对齐,字符型数据向左对齐。字符型数据向左对齐。上一页下一页返回本节首页27如果希望如果希望PUT语句的输出不产生换行,使下一语句的输出不产生换行,使下一个个PUT的结果可以显示在同一行,只要在的结果可以显示在同一行,只要在PUT 语语句结尾处加一个句结尾处加一个符。符。上一页下一页返回本节首页28 PUT语句的输出结果缺省情况下被送到运行记语句的输出结果缺省情况下被送到运行记录窗口。若在录窗口。若在PUT语句之前用语句之前用FILE语句可以改变语句可以改变PUT语句的输出目的地。如,在语句的输出目的地。如,在PUT语句之前用语句之前用file print;可以把可以把PUT语句的输出转向到输出窗口。在语句的输出转向到输出窗口。在FILE语句中指定一个包含文件名的字符串可以把语句中指定一个包含文件名的字符串可以把PUT语句的输出转向到此文件中。比如语句的输出转向到此文件中。比如file tmp.out;输出文件把后续的输出文件把后续的PUT语句输出转向到当语句输出转向到当前工作目录下的文件前工作目录下的文件“tmp.out”中,生成中,生成tmp.out 。注意当前工作目录在注意当前工作目录在SAS状态栏的右方显示,双击状态栏的右方显示,双击可以更改。文件名也可以指定全路径,比如可以更改。文件名也可以指定全路径,比如“C:SASTMP.OUT”。上一页下一页返回本节首页29分支结构分支结构if.then.else 结构结构SELECT结构结构上一页下一页返回本节首页301. if.then.else 结构结构格式为:格式为:IF 条件条件 THEN 语句;语句;ELSE 语句;语句;例:例: data temp1 input x ; if x0 then put x 是正数是正数; else put x 是负数是负数; cards; 1 2 -3 4 -5 ; run;上一页下一页返回本节首页31 有时我们在条件成立时需要进行的操作无法用一个语句完成,这时可以使用有时我们在条件成立时需要进行的操作无法用一个语句完成,这时可以使用SAS提供提供的复合语句功能。例:的复合语句功能。例:data;input x; /*/*不分行符不分行符的使用:的使用:每读入一天记录后每读入一天记录后, ,数据指针保持原位不换行数据指针保持原位不换行, , 继续读下一条记录继续读下一条记录*/*/if x0 then do;y=2*x;put f( x )= y;end;else put Data Error!;cards;1 2 -3 4 -5;run; 如果当条件不成立时,不进行什么操作,可以不使用如果当条件不成立时,不进行什么操作,可以不使用ELSE及其后面的语句。及其后面的语句。上一页下一页返回本节首页322.SELECT结构结构格式一:格式一:SELECT (选择表达式选择表达式);WHEN(值列表值列表) 语句语句;WHEN(值列表值列表) 语句语句;OTHERWISE 语句语句;END;上一页下一页返回本节首页33功能及流程:功能及流程: 执行执行SELECT结构时,先计算出选择表达式和结构时,先计算出选择表达式和值列表中的所有值,然后把选择表达式值由前向后值列表中的所有值,然后把选择表达式值由前向后与值列表中的值相比,发现相等值则执行对应的语与值列表中的值相比,发现相等值则执行对应的语句,然后退出句,然后退出SELECT结构(不再查看后面的值列结构(不再查看后面的值列表)。如果选择表达式的值不等于任何值列表中的表)。如果选择表达式的值不等于任何值列表中的值则执行值则执行OTHERWISE对应的语句,这种情况下没对应的语句,这种情况下没有有OTHERWISE语句会出错。语句会出错。上一页下一页返回本节首页34例例:DATA ;INPUT month $ ;put month ;SELECT(month); WHEN(Feb, Mar, Apr) put 春天春天; WHEN(May, Jun, Jul) put 夏天夏天; OTHERWISE put 秋天或冬天秋天或冬天;END;CARDS;Mar Jun oct;run;上一页下一页返回本节首页35格式二:格式二:SELECT;WHEN(条件条件) 语句语句;WHEN(条件条件) 语句语句;OTHERWISE 语句语句;END;这种这种SELECT语句没有选择表达式,而是在每语句没有选择表达式,而是在每一个一个WHEN语句指定一个条件(逻辑表达式),语句指定一个条件(逻辑表达式),执行第一个满足条件的执行第一个满足条件的WHEN后的语句。如果所后的语句。如果所有条件都不满足则执行有条件都不满足则执行OTHERWISE后的语句。后的语句。上一页下一页返回本节首页36例:例:data;input age ;put age ;SELECT;WHEN(age=12) put 少年少年;WHEN(age=5); n+1; put n=; end;run;上一页下一页返回本节首页46四、四、SAS常用函数常用函数算术函数(算术函数(Arithmetic Functions) 数学函数(数学函数(Mathematical Functions)截断函数(截断函数(Truncation Functions) 三角和曲线函数(三角和曲线函数(Trigonometric and Hyperbolic Functions)字符函数字符函数(Character Functions) 日期和时间函数日期和时间函数(Date and Time Functions)概率与密度函数概率与密度函数(Probability and Density Functions)分位数函数(分位数函数(Quantile Functions)随机数函数(随机数函数(Random Number Functions)样本统计函数(样本统计函数(Sample Statistics Funtions)上一页下一页返回本节首页47算术函数(算术函数(Arithmetic Functions)ABS(x) :求:求x的绝对值。的绝对值。 例如例如ABS(-56.3)=56.3 。MAX(x1,x2,xn) :求所有自变量中的最大一个。:求所有自变量中的最大一个。 例如例如MAX(52,15,67,89)=89 。MIN(x1,x2,xn) :求所有自变量中的最小一个。例如:求所有自变量中的最小一个。例如MIN(52,15,67,89)=15 。MOD(x,y) :求:求x除以除以y的余数。的余数。 例如例如MOD(24,3)=0 。SIGN(x) :计算:计算x的符号,结果为的符号,结果为1、-1、0。例如。例如SIGN(-5)=-1,SIGN(20)=1,SIGN(0)=0。SQRT(x) :求:求x的平方根。的平方根。 例如例如SQRT(225)=15 。上一页下一页返回本节首页48数学函数(数学函数(Mathematical Functions)ERF(X):误差函数:误差函数 。EXP(X):指数函数指数函数 。GAMMA(X):计算计算 的值。的值。LOG(X):计算计算x的自然对数。的自然对数。LOG10(X):计算:计算x的以的以10为底的对数。为底的对数。LGAMMA(X):计算函数的自然对数。计算函数的自然对数。上一页下一页返回本节首页49截断函数(截断函数(Truncation Functions)CEIL(X):计算:计算x的最小整数,当的最小整数,当x为整数时就是为整数时就是x本身,否则为本身,否则为x右侧最近的整数。右侧最近的整数。例如例如CEIL(-134.45)=-134,CEIL(34.45)=35,CEIL(78)=78。FLOOR(X):计算小于或等于:计算小于或等于x的最大整数,例如的最大整数,例如FLOOR(-134.45)=-135,FLOOR(34.45)=34。INT(X):求:求x舍掉小数部分后的整数部分。例如舍掉小数部分后的整数部分。例如INT(-134.45)=-134,INT(34.45)=34。ROUND(x,unit):计算:计算x按照按照unit指定的精度四舍五入后的结果,指定的精度四舍五入后的结果,例如例如ROUND(134.4567,0.01)结果为结果为134.46,ROUND(3678.2398,10)结果为结果为3680。上一页下一页返回本节首页50三角和曲线函数(三角和曲线函数(Trigonometric and Hyperbolic Functions)ARCOS(y):计算反余弦函数。:计算反余弦函数。ARSIN(y):计算反正弦函数。:计算反正弦函数。ATAN(y):计算反正切函数。:计算反正切函数。COS(X):计算:计算x的余弦函数。的余弦函数。SIN(X):计算:计算x的正弦函数的正弦函数51字符函数字符函数(Character Functions) COMPBL(S):将字符串:将字符串S中的多余空格去掉。中的多余空格去掉。COMPRESS(S,S1):将字符串:将字符串S中包含的所有字符串中包含的所有字符串S1去掉。去掉。INDEX(S,S1):查找字符串:查找字符串S1在在S中的位置。如果中的位置。如果S中不包含中不包含S1则返回则返回0。LOWCASE(S):把字符串:把字符串S中所有大写字母转换为小写字母。中所有大写字母转换为小写字母。UPCASE(S):把字符串:把字符串S中所有小写字母转换为大写字母。中所有小写字母转换为大写字母。RANK(S):求字符串:求字符串S的的ASCII码值。码值。REPEAT(S,N):将字符串:将字符串S重复重复N次。次。SUBSTR(S,N,LONG):字符串:字符串S中的第中的第N个字符开始抽取个字符开始抽取long个字符长个字符长的子串。的子串。TRANWRD(S,S1,S2):将字符串:将字符串S中的所有字符串中的所有字符串S1替换成字符串替换成字符串S2。上一页下一页返回本节首页52日期和时间函数日期和时间函数(Date and Time Functions)常用日期和时间函数有:常用日期和时间函数有:DATEIF(sdate,edate,basis):计算两个日期之间相距的天数,:计算两个日期之间相距的天数,basis指定日期格指定日期格式。式。DATE:计算当前:计算当前SAS系统的日期。系统的日期。DAY(date):有:有SAS日期值日期值date得到是几日。得到是几日。DHMS(date,hour,minute,second):有日期、小时、分钟、秒得到:有日期、小时、分钟、秒得到SAS日期和日期和时间值。时间值。MDY(month,day,year):生成月日年的:生成月日年的SAS日期值。日期值。MONTH(date):有:有SAS日期值日期值date得到月。得到月。QTR(date):有:有SAS日期值日期值date得到季度值。得到季度值。WEEKDAY(day):有:有SAS日期值日期值date得到星期几。得到星期几。YEAR(DATE):有:有SAS日期值日期值date得到年。得到年。其它日期和时间函数参见其它日期和时间函数参见SAS系统的帮助信息。系统的帮助信息。上一页下一页返回本节首页53概率与密度函数概率与密度函数(Probability and Density Functions) 作为一个统计计算语言,作为一个统计计算语言,SAS提供了多种概率分布函数。分布密度、概率、提供了多种概率分布函数。分布密度、概率、累积分布函数等可以通过集中统一的格式调用,格式为:累积分布函数等可以通过集中统一的格式调用,格式为:CDF(dist,quantile,parm-1,parm-k):计算累计分布函数。计算累计分布函数。Dist为分布名称,为分布名称,quntile为分为数,随后是相关参数。为分为数,随后是相关参数。PDF|PMF(dist,quantile,parm-1,parm-k):计算概率密度函数。:计算概率密度函数。Dist为分为分布名称,布名称,quntile为分为数,随后是相关参数。为分为数,随后是相关参数。LOGPDF|LOGPMF(dist,quantile,parm-1,parm-k):计算概率密度函数的:计算概率密度函数的对数值。对数值。Dist为分布名称,为分布名称,quntile为分为数,随后是相关参数。为分为数,随后是相关参数。LOGSDF(dist,quantile,parm-1,parm-k):计算生存函数的对数值。:计算生存函数的对数值。Dist为分布名称,为分布名称,quntile为分为数,随后是相关参数。为分为数,随后是相关参数。PROBCHI(x,df):计算卡方分布的概率值。可选参数:计算卡方分布的概率值。可选参数nc为非中心参数。为非中心参数。PROBF(x,ndf,ddf):计算:计算F分布的概率值。可选参数分布的概率值。可选参数nc为非中心参数。为非中心参数。PROBGAM(x,a):计算伽马分布的概率值。:计算伽马分布的概率值。PROBNORM(x):计算标准正态分布的概率值。:计算标准正态分布的概率值。上一页下一页返回本节首页54分位数函数(分位数函数(Quantile Functions) 分位数函数是概率分布函数的反函数。其自变分位数函数是概率分布函数的反函数。其自变量在量在0-1之间取值。分位数函数计算的是分布的左侧之间取值。分位数函数计算的是分布的左侧分位数。分位数。BETAINV(p,a,b):计算参数为:计算参数为(a, b)的的 分布的分布的p分位数。分位数。CINV(p, df):计算自由度为:计算自由度为df的卡方分布的卡方分布p分位数。可选参数分位数。可选参数nc为非中心参数。为非中心参数。上一页下一页返回本节首页55FINV(p, ndf, ddf):计算):计算F (ndf , ddf)分)分布的布的p分位数。可选参数分位数。可选参数nc为非中心参数。为非中心参数。GAMINV(p, a):计算参数为:计算参数为a的伽马分布的的伽马分布的p分位分位数。数。PROBIT(p):计算标准正态分布的:计算标准正态分布的p分位数。分位数。TINV(p, df,nc0的泊松分布随机数,的泊松分布随机数,seed为任意数值。为任意数值。RANTBL(seed,P1,Pn)生成取)生成取1,2,n的概率分别为的概率分别为P1,Pn的离散分布随机数。的离散分布随机数。上一页下一页返回本节首页58样本统计函数(样本统计函数(Sample Statistics Funtions) 样本统计函数把输人的自变量作为一组样本,计算样本样本统计函数把输人的自变量作为一组样本,计算样本统计量。其调用格式为统计量。其调用格式为“函数名(自变量函数名(自变量1,自变量,自变量2,自变量自变量n)”或者或者“函数名(函数名(OF变量名列表)变量名列表)”。比如。比如SUM是求和函数,如果要求是求和函数,如果要求x1、x2, x3的和,则可以用的和,则可以用SUM(xl,x2,x3),也可以用),也可以用SUM(of x1-x3)。)。各样本统计函数为:各样本统计函数为:CSS:离差平方和:离差平方和CV:变异系数:变异系数上一页下一页返回本节首页59KURTOSIS:峰度:峰度MEAN:均值:均值MAX:最大值:最大值MIN:最小值:最小值N:非缺失数据的个数:非缺失数据的个数NMISS:缺失数值的个数:缺失数值的个数RANGE:极差:极差MAX - MINSKEWNESS:偏度:偏度STD DEV:标准差:标准差STDERR:均值估计的标准误,用:均值估计的标准误,用STD/SQRT(N)计算)计算SUM:求和:求和USS:平方和:平方和VAR:方差:方差上一页下一页返回本节首页601.将本章例题中的程序输入到将本章例题中的程序输入到EDITOR编辑窗口中,编辑窗口中,并观察和比较运行结果。并观察和比较运行结果。2.分别用当型循环和直到型循环求解分别用当型循环和直到型循环求解243、63这两这两个数的最大公约数,并输出最大公约数。程序分别个数的最大公约数,并输出最大公约数。程序分别命名为命名为“dangxing.sas”和和“zhidaoxing.sas”。【思考与练习】【思考与练习】613.将下面这段程序进将下面这段程序进行修改,使其能够求行修改,使其能够求得得110000以内的以内的所有素数,并将所有所有素数,并将所有的素数和素数个数保的素数和素数个数保存在文件存在文件“sushu.txt”中。修中。修改后的程序命名为改后的程序命名为“sushu.sas”。data; n=13; flag=1; DO i = 2 TO n/2 ; if mod(n,i)=0 then do; flag=0; leave; end; END; if flag=1 then put n 是素数是素数; else put n 不是素数不是素数;run;62
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号