楼主: yunnandlg
4370 0

[学习分享] SAS语言概述 [推广有奖]

版主

但问耕耘,莫问收获

院士

0%

还不是VIP/贵宾

-

威望
0
论坛币
251627 个
通用积分
578.6351
学术水平
1667 点
热心指数
1686 点
信用等级
1650 点
经验
173191 点
帖子
1939
精华
0
在线时间
2580 小时
注册时间
2010-8-28
最后登录
2024-4-25

楼主
yunnandlg 在职认证  学生认证  发表于 2016-4-3 15:02:19 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

SAS提供了一种完善的编程语言。类似于计算机的高级语言,SAS用户只需要熟悉其命令、语句及简单的语法规则就可以做数据管理和分析处理工作。因此,掌握SAS编程技术是学习SAS的关键环节。在SAS中,把大部分常用的复杂数据计算的算法作为标准过程调用,用户仅需要指出过程名及其必要的参数。这一特点使得SAS编程十分简单。

一、SAS程序

    SAS程序是SAS语句的有序集合。

    SAS程序可分为两部分:

    1.数据步(DATAStep)

    2.过程步(PROCStep)

    在一份SAS程序中,通常有一个数据步和一个过程步.有时可能有多个数据步和多个过程步。

    数据步是为过程步准备数据的且将准备好的数据放在数据集中,过程步是把指定数据集中的数据计算处理并输出结果。


二、SAS语句

    SAS语句是以SAS关键词开头、后跟SAS名、特殊字符或操作符组成,并且以分号结尾。一个SAS语句规定了一种操作或为系统提供某些信息。

    1.SAS关键字

    关键字是系统已赋于确定意义的一个单词。在SAS语言里,除了赋值、 求和、注释等语句外,多数语句是以其关键字作为开头的。

    如DATA、FORMA,PROC、INFILE等都是相应语句的关键字。

    2.SAS名

    在SAS语句中,可能出现的SAS名有变量名,数据集名,输出格式名,过程名,选择项名,数组名和语句标号名。还有SAS对文件的一种特殊称呼叫逻辑库名和文件逻辑名。SAS名是字母或下划线开头后跟宇母或数宇或下划线的字符串,字符个数不多于八个。 空格和特殊宇符(如$,@,#等)不许在SAS名中出现。另外,SAS保留了一些特殊的变量名并赋于特定的意义,这些变量都是以下划线开头和结尾,如N_表示数据步已执行过的次数。


三、语句描述记号

(1)关键字用英文书写,在写程序时,这些词必须严格以给出的拼写形式书写。

(2)[?]内的项是可选项。

(3)…表示有多个项目


四、SAS数据集

    “SAS数据集(DataSet)”是 SAS中一种特定的数据文件。它由 SAS程序的数据步产生并且作为过程步的输入。数据集是一个数据值的集合。形象地讲,数据集是一个数据值构成的矩形表。它的行叫观测(Observations),列叫变量(Variables)。


五、数据值(Data Values)

    数据值是SAS处理的最基本的数据单元。数据值有两种类型:数值型和字符型。


六、观测(obsevation)

    一行是一个观测。通常,一个观测的多个数据值描述了一个客观实体的多个特征。


七、变量( Variables)

    变量是用SAS名标识的具有相同性质的数据值的集合。在SAS数据集中,每一列用一个变量标识 ,SAS数据集的一列也称为一个变量。数据集的列数就是该数据集所包含的变量个数。换言之,数据集的一个观察里包含着数据集的所有变量的一个取值。变量表示观察客观实体的一个属性。


八、变量的属性

    SAS变量分为两类:数值型与字符型。每个变量都具有长度、输入、输出格式和标号等四种属性。变量的属性可以经由其首次出现的上下文给出定义,所谓由上下文给出定义是指当变量第一次出现并且是在 INPUT、DO、 RETAIN等语句中时,它们的属性将被定义。


九、变量的值

    数值型变量的值是数值。数值的范围是:

    正负10E-307? 正负 10E+308

 字符型变量是以字符串为其值。一个字符型变量的值最多可达200个字符。


十、变量的格式标号

    用LABEL语句可以为变量定义一个标号。这个标号是引号内的任意字符串。字符个数不超过40,字符串还可以是汉字。变量标号的默认值是空格。标号与变量名一起输出,这样可以提高输出结果的可读性。


十一、 SAS程序的书写格式

SAS程序像多数高级语言一样具有灵活的书写格式。

     1. 空 格

     SAS语句可以在一行的任何一列开始书写;一行上可以写几个语句;一个语句可以分多行。一般情况下,一个语句中不同的语法单位要用空格分隔,但是对于某些特殊字符,可以不用空格分隔。

     由于SAS对空格的数目没有严格的限制,所以建议程序员将SAS程序写成便于阅读的分层嵌入式。

     2.注 释

     用一对/* 与 */符号括起来的字符叫做注释,注释可出现在程序的任何地方.

     3.变量的缩写记号

     对于变量的缩写记号分两种情形来讨论:

      (l)在SAS中每一个变量以其在程序中首次出现的先后次序获得一个序号,因此,在程序中可以用缩写记号来引用这些变量。假设变量x,a,b,c和k先后依次在程序中出现。那么在这些变量出现以后的语句中用记号a-k则表示a,b,c和k这四个变量。

      (2)在程序中引用的一组变量名字的前部分字符相同,后部分符号是连续的自然数时,也可以用缩写符号引用变量。

       例如 程序中定义 x1,x2,x3,x4,x5,则可以用记号 x1-x5 来引用上述五个变量。

     4.SAS函数

     像多数高级语言一样,SAS提供了丰富的标准函数。

     SAS函数书写格式为:

     函数名(参数表)

     其中函数名为SAS关键字,参数表给出函数所要求的一个或多个参数。

     SAS函数的类型有:

       算术、截尾、三角、双曲线、概率、分位数、样本统计、日期时间、特殊函数

     5.函数的参数

     函数参数可以是变量名,数值或字符常量。

    6.函数值

     除了个别特殊情况,多数函数值的类型与其参数类型是一致的,数值函数值的默认长度为八个字节,字符函数值的默认长度是200个字符。

     函数的几点说明:

      (l)函数不能直接用在PUT语句中。

      (2)注意函数参数的取值范围,例如对数函数的参数值要大于零等。

      (3)除样本统计函数外,多数函数不许以缺值(Missins Value)为其参数。

      (4)对于某些概率函数,若参数选择不当,可能引起不收敛的问题,在这种情况下,函数值为缺值并给出错误信息。

     7.算术函数

      (l)取X的绝对值:ABS(X)。

      (2)取x1,x2,...,xn 中的最小值?MIN(X1,X2,...,XN)

      (3)取x1,x2,...,xn 中的最大值?MAX(X1,X2,...,XN)

      (4)取以x2为模x1的余:       MOD (x1,x2)(5)取 x 的符号:SIGN(X)

      (6)X的平方根: SQRT(X)

      (7)取数组元素的个数或指定维的下标取值个数。设X为已定义了的数组名,当X为一维数组时,DIM(X)的值为X的元素个数。当X为多维数组时,DIM(X)的值为X的第一维下标取值的个数,DIMn(x)为X的第n维下标取值的个数,其中n为正整数。           设已定义了多维数组 ARRAY m(3, 10, 4)m1-m120,则 DIM(m)和            DIMI(m)的值是3,DIM2(m)的值是10,DIM3(m)的值是4。

     8.数学函数

       (1)双伽码函数:DIGAMMA(x)

       (2)误差函数:ERF(x)

       (3)误差函数ERF(X)的补函数:ERFC(X)

       (4)EXP(x)是自然对数

       (5)全伽码函数:GAMMA(X)

       (6)GAMMA(X)的自然对数值: LGAMMA(x)

       (7)X的自然对数:LOG(X)

       (8)X的常用对数:LOG10(X)

       (9)X的以2为底的对数: LOG2(X)

     9.截尾函数

      (1)大于等干x的最小整数: CEIL( X)。

      (2)小干等于x的最大整数: FLOOR()。

      (3)截去x的小数部分取整: INT(X)。

      (4)以y作为舍入单位,将x四舍五入:ROUND( x ,y),y的默认值为l。

     10.三角和双曲函数

      (1)X的余弦:COS(X)。

      (2)X的正弦:SIN(X)。

       (3)X的正切:TAN(X)。(三角函数中的参数x以弧度为单位)

      (4)X的反余弦: ARCOS(X)。

      (5)X的反正弦: ARSIN(X)。

      (6)X的反正切:ATAN(X)。

      (7)X的双曲余弦: COSH(X)。

      (8)X的双曲正弦: SINH(X)。

      (9)X的双曲正切: TANH(X)。

    11.样本统计函数

      (1)校正平方和:CSS(X1,X2,...,XN)

      (2)变异系数: CV(X1,X2,...,XN)

      (3)平均值:MEAN(X1,X2,...,XN)

      (4)极差 RANGE(X1,X2,...,XN)

      (5)标准差:STD(X1,X2,...,XN)

      (6)标准误:STDERR(X1,X2,...,XN)

      (7)求和:SUM(X1,X2,...,XN)

      (8)计算方差:VAR(X1,X2,...,XN)

     12.概率函数

      (l)泊松分布的概率值:POISSON ( ,n)

      (2)β分布的概率值: PROBBETA(x,a,b )......

     13.操作符的执行优先顺序

         一个SAS表达式可能同时含有多种多个操作符。

         各种操作符的执行优先级顺序规定如下:

           规则1:括号内优先

           规则2:具有较高优先级的操作先执行,优先级次序如下:

                   组1:**,正负号,NOT,><,<>

                   组2:*,/

                   组3:加法,减法

                   组 4:字符连接(:或 ! )

                   组5:<,<= ,>=,>

                   组6:AND 逻辑乘

                   组7:OR 逻辑加

           规则3:组号小者优先级高.具有相同优先级的操作依从左到右的原则。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:s语言 sas数据集 sas程序 SAS函数 SAS编程 编程语言 编程技术 程序 用户

Cause morning rolls around and it's another day of sun.
清晨不久就会来到,又是阳光明媚的一天。
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 19:32