- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 SAS编程基础的
第三章;3.1 SAS语法基础; 日期、时间和日期时间常数;1、算术操作符
表示执行一种算术运算 ;2、比较操作符
用来建立两个变量之间的一种联系,并确定这种关系是否成立。成立,输出结果为1,否则,结果为0.;3、逻辑操作符
在表达式里常用来连接一系列比较式,常与IF语句结合使用。; 如:
SUM(X1,X2,X3,X4)
SUM(OF X1-X4);2、用法;;data a(drop=x1-x6);
input x1-x6@@;
mean=mean(of x1-x6);
std=std(of x1-x6);
skewness=skewness(of x1-x6);
kurtosis=kurtosis(of x1-x6);
sum=sum(of x1-x6);
cards;
2.2 1.6 3 3.5 4.2 4
;
run;
proc print;
run;;data b(drop=i);
do i=1 to 10;
z=170+sqrt(30)*normal(0);
output;
end;
proc print;
run;;;
3.2 DATA步中的一些常用语句;用在DATA步中的运行语句;用在DATA步中的运行语句;;二、OUTPUT语句和DELETE语句;data class1 class2;
input name$ chinese maths english@@;
total=chinese+maths+english;
if total=240 then output class1;
else output class2;
cards;
a 82 78 69 b 90 78 89 c 79 86 98
;
proc print data=class1;
title ‘数据集class1’;
proc print data=class2;
title ‘数据集class2’;
run;;2、DELETE语句
DELETE语句要求SAS系统停止处理当前的观
测,即当前的观测不被输出到正创建的SAS数据集
中,而且返回到DATA步的开始处理其他数据。
一般格式:DELETE;
;data class3;
input sex$ chinese maths english@@;
if sex=m then delete;
cards;
m 82 78 69 f 90 78 89 m 79 86 98
;
proc print data=class3;
run;;KEEP语句
用来规定哪些变量被包含在正被创建的SAS数据集中;
且出现在任何地方作用相同。;
data class;
input name$ chinese maths english@@;
keep name total;
total=chinese+maths+english;
cards;
a 82 78 69 b 90 78 89 c 79 86 98
;
proc print;
run;;data class(keep=name total);
input name$ chinese maths english@@;
total=chinese+maths+english;
cards;
a 82 78 69 b 90 78 89 c 79 86 98
;
proc print;
run;;DROP语句
用来规定哪些变量不被包含在正被创建的SAS数据集中;
且出现在任何地方作用相同。;data class(keep=name total) class1(drop=name total);
input name$ sex$ chinese maths english@@;
drop sex;
total=chinese+maths+english;
cards;
a m 82 78 69 b f 90 78 89 c m 79 86 98
;
proc print data=class1;
run;;;四、WHERE语句;例如:
where total240;
where score=60 and score70;
where x;
where sex=m;
where sum(chinese,maths,english)=240;
where total in (257 263);;注意:
1)它不能用在由CARDS语句构成的DATA 步;
2)不能从包含原始数据的外部文件中选择记录;
;data class;
input name$ sex$ chinese maths english@@;
total=chinese+maths+english;
cards;
a m 82 78
文档评论(0)