讲义2SAS语言初步.docx
- 文档编号:9452039
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:10
- 大小:348.95KB
讲义2SAS语言初步.docx
《讲义2SAS语言初步.docx》由会员分享,可在线阅读,更多相关《讲义2SAS语言初步.docx(10页珍藏版)》请在冰点文库上搜索。
讲义2SAS语言初步
SAS语言初步
1.运算符
(1)算术运算符
功能:
算术运算符用来执行一个算术运算
符号
+
-
*
/
**
含义
加
减
乘
除
乘方(幂)
(2)比较运算符
功能:
比较运算符用来给出两个量间的关系
符号
=或eq
^=或ne
>或gt
<或lt
>=或ge
<=或le
in
含义
等于
不等
大于
小于
大于等于
小于等于
检查变量取值是否含在列表中
注:
a)比较运算符计算结果只有两种:
“真”(用1表示)或“假”(用0表示)。
b)In是SAS特有的运算符,检查变量是否含在列表中,
provin('Beijing','Tianjin','Shanghai',Chongqing');
可以判断省份变量prov的取值是否为四个直辖市之一。
(3)逻辑运算符
功能:
逻辑运算符用来判断两个表达式之间的逻辑关系
符号
&或and
|或or
^或not
含义
与
或
非
如:
(salary>=1000)and(salary<2000)表示工资收入在1000~2000之间(不含2000);
(age<=3)or(sex=’女’)表示3岁以下(含3岁)的婴儿和妇女;
NOT((salary>=1000)AND(salary<2000))表示工资收入不在1000-2000之间。
复杂的逻辑表达式最好用括号表示其运算优先级,以免误记优先规则并可利于阅读程序。
注:
其它的运算符
||(两个连续的|号),两个字符串连接;
<>取两个运算值中较大一个的(比如3<>5结果为5);
><取两个运算值中较小一个的(比如3><5结果为3)。
(4)数学函数
ABS(x):
求x的绝对值
MAX(x1,x2,x3,…xn):
求所有自变量中的最大值
MIN(x1,x2,x3,…xn):
求所有自变量中的最小值
SQRT(x):
求x的算术平方根
LOG(x):
求x的自然对数
EXP(x):
求指数函数ex
SIN(x)、COS(x)、TAN(x):
三角函数正弦、余弦、正切函数
…….
2.data步常用语句
ØPUT语句——输出语句
ØSET语句——读取观测语句
ØATTRIB语句——设定变量属性
Ø赋值语句——计算SAS表达式,给变量赋值
ØDROP语句——删除变量语句
ØKEEP语句——保留变量语句
ØIF语句——条件语句
ØSELECT语句——选择语句
ØDO-END语句——循环语句
ØDELETE语句——删除语句
ØOUTPUT语句——输出到数据集语句
ØCOMMENT语句——注释语句
ØARRAY语句——数组语句
3.赋值语句
❑功能:
计算一个值并存放到变量中,
❑格式为:
变量名=表达式;
❑如avg=math*0.5+chinese/120*100*0.5;
y=mean(ofx1-x4);/*mean()函数非means过程
y=sin(x)**2;
newv=.;/*缺失值*/
❑注:
等号“=”右端的表达式的各变量应该是存在的,否则会得到缺失值结果。
试运行下面程序:
4.输出语句
❑功能:
将输出立即显示在Log窗口中
❑格式为:
Put变量名或字符串列表;
❑说明:
❑Put语句中列出的各项可以是变量或字符串,各项之间用空格隔开
❑put语句中也可使用“变量名=”来指定输出项,可以显示带变量名的输出结果。
❑put语句也可用“域宽.精度”方式指定输出的格式
❑若希望put语句的下一次输出在同一行,则在put语句后加一个“@”符号。
❑put语句的默认了输出是Log窗口,如果想使输出转向output窗口,则需在put语句前加上语句Fileprint;
试运行下面程序:
5.分支结构语句
(一)IF语句
(1)如果需要在条件满足时执行某一操作,可用:
If条件then语句;
例如:
ifx>0thenput‘x为正数’;
(2)如果需要同时规定条件不满足时执行的操作,可用:
If条件then语句1;
else语句2;
例如:
ifx>=0thenx=2*x;
elsex=-x;
注:
以上then和else后的语句都是单个语句;如果当条件成立时要执行几个语句(即复合语句),则应该把要同时执行的几个语句用DO-END括起来。
试运行下面程序:
(二)SELECT语句
用法一:
select(选择表达式);
when(值列表1)语句1;
when(值列表2)语句2;
……
otherwise语句n;
end;
说明:
“选择表达式”是一数值型或字符型的变量或表达式;
“值列表”为一项或若干项,多项之间用逗号“,”隔开,数值类型与选择表达式相同;
“语句”为单个语句或复合语句;
执行过程:
先计算出选择表达式的值,然后由前往后与值列表中的值比较,发现相等则执行对应的语句,然后退出select结构(不再查看后面的值列表)。
如果选择表达式的值不等于任何值列表中的值,则执行otherwise中的语句。
试运行下面程序:
用法二:
select;
when(条件1)语句1;
when(条件2)语句2;
……
otherwise语句n;
end;
说明:
select语句后没有选择表达式,各个“条件”是一逻辑表达式;
执行过程:
由前往后检查when后的条件,它只执行第一个满足条件的when后的语句;如果所有条件都不满足,则执行otherwise后的语句。
试运行下面程序:
6.循环结构
(1)计数Do循环
格式:
do计数变量=起始值to结束值by步长;
循环体语句…;
end;
说明:
执行过程:
先把计数变量赋值为起始值,如果此值小于等于结束值,则执行循环体语句,然后把计数变量加上步长,再判断它是否小于等于结束值,如果是,则继续执行循环体,直到计数变量的值大于结束值为止。
如果步长为1,则可省略“by步长”;如果步长为负值,则计数变量小于结束值时停止循环。
循环体语句可以为多个语句;可以使用leave语句跳出循环;还可使用continue语句立即结束本轮循环并转入下一轮循环的判断与执行。
试运行下面程序:
(输出一个1,3,7,……19的立方表,且当立方大于1000时停止循环。
)
(2)Do-while型循环
格式:
dowhile循环继续条件;
循环体语句…;
end;
说明:
循环体语句可以为多个语句;
执行过程:
程序先判断“循环继续条件”是否成立,成立时执行“循环体语句”,再判断“循环断续条件”,如此重复,直到“循环断续条件”不再成立。
试运行下面程序:
(判断1333333是不是素数。
)
(3)Do-until型循环
格式:
dountil循环退出条件;
循环体语句…;
end;
说明:
执行过程:
程序先执行循环体,然后判断“循环退出条件”是否成立,成立则结束循环,否则继续。
注意每轮循环都是先执行循环体再判断是否退出。
试运行下面程序:
程序中的n+1是一种特殊写法,叫做累加语句,等价于n=n+1。
试运行下面程序:
与上面程序2.5-3的结果进行比较
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 讲义 SAS 语言 初步
![提示](https://static.bingdoc.com/images/bang_tan.gif)