SAS上机练习题全部含参考答案Word文档下载推荐.docx
《SAS上机练习题全部含参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SAS上机练习题全部含参考答案Word文档下载推荐.docx(46页珍藏版)》请在冰豆网上搜索。
cards;
083687165
084746168
085737546
086798079
087757168
084858587
085787975
086807679
087858082
088777175
089677371
080758170
118705475
083706684
084627365
099827079
;
run;
datab;
seta;
ifsh<
60orwl<
60orbl<
60thenoutput;
procprintdata=b;
varidshwlbl;
5、根据下列数据建立数据集
表2 销售数据
开始时间
终止时间
费用
2005/04/28
25MAY2009
$123,345,000
20050918
05OCT2009
$33,234,500
2007/08/12
22SEP2009
$345,600
20040508
30JUN2009
$432,334,500
提示:
(格式化输入;
数据之间以空格分隔,数据对齐;
注意格式后面的长度应以前一个位置结束开始计算,如果读入错误,可试着调整格式的宽度;
显示日期需要使用输出格式)
开始时间,输入格式yymmdd10.
终止时间,输入格式date10.
费用,输入格式dollar12.
inputx1yymmdd10.x2date10.x3dollar13.;
2005/04/2825MAY2009$123,345,000
2005091805OCT2009$33,234,500
2007/08/1222SEP2009$345,600
2004050830JUN2009$432,334,500
procprint;
formatx1yymmdd10.x2date9.x3dollar13.;
6、手机号码一编码规则一般是:
YYY-XXXX-ZZZZ,其YYY为号段;
XXXX一般为所在地区编码;
ZZZZ为对应的个人识别编号。
下面有一组电话号码(来源于网络,末位以X替换),请用程序完成下列要求:
(1)分别列出属于联通、移动、电信的号码;
(2)分别提取地区编号及个人识别编号。
(提示:
列输入方式或者字符串操作)
说明:
移动:
134-139、150、151、152、157、158、159、188
联通:
130、131、132、155、156
电信:
133、153、180、189
手机号码
1508320464X
1313654836X
1510291126X
1351425709X
1339644156X
1303612231X
1532464828X
1383824855X
1365721647X
1522322763X
1523105754X
1357851051X
1592624347X
1508311759X
1331237668X
1327313520X
1370048578X
1556443719X
1507244457X
1804346016X
1321246707X
1513441713X
1368464734X
1308279203X
1394913242X
1897876466X
inputy1-3x$4-7z$8-11;
if134<
=y<
=139oryin(150,151,152,157,158,159,188)thenygrp='
移动'
ifyin(130,131,132,155,156)thenygrp='
联通'
ifyin(133,153,180,189)thenygrp='
电信'
。
7、下表是某班学生几门功课的成绩,其中形势课是考查课,其它均为考试课。
请完成以下处理并且保存程序、结果和日志:
(注意函数在DATASTEP中使用的位置)
(1)用Mean()函数求出每位同学的平均分,将其保存在变量中;
(2)用sum()函数或者表达式求出每位同学的总分,将其保存在变量中;
(3)如果每门考试课权重是0.75,每门考查课权重为0.25,试求每位同学的加权平均分;
(4)将数据集保存为永久数据集,保存位置为“D:
\mydata\”;
(5)调用上面的永久数据集,并将男、女生的成绩分别保存在数据集Dmale和Dfemale中。
表3 某班同学几门功课的成绩
学号
性别
(0=女,1=男)
高数
生理
人解
数理统计
形势(考查)
0083
1
73
64
74
75
0414
90
79
71
85
78
0564
97
87
89
91
80
0774
40
60
61
65
0873
68
76
0874
56
0875
46
66
0876
0877
55
70
0878
0880
81
82
0881
84
0883
77
0884
0885
62
0886
83
0887
0888
67
0889
69
0890
0891
0892
0893
0894
0895
0896
51
42
44
0898
0899
72
0900
63
0901
libnamepb"
D:
\mydata\"
datapb.score;
inputid$xbgsslrjsltjxs;
mscore=mean(ofgsslrjsltjxs);
tscore=sum(ofgsslrjsltjxs);
wmscore=((gs+sl+rj+sltj)*0.75+xs*0.25)/(0.75*4+0.25);
008317373647475
041419079718578
056419787899180
077414060616575
087316865607675
087417468566075
087517346656687
087617979748987
087717568556070
087817660647180
088018173607582
088117681848978
088317760606675
088408587848590
088507875626680
088608079777383
088708582818480
088807775746780
088906771716990
089007570756980
089106976767990
089206671606078
089317084758085
089416265656981
089519178616678
089615160424478
089816773677385
089917972786880
090017668638490
090108170708279
datadmaledfemale;
setpb.score;
ifxb=1thenoutputdmale;
ifxb=0thenoutputdfemale;
8、下面是3个大类疾病的ICD-10编码及对应的疾病名。
请完成以下任务:
(1)建立数据集;
(2)提取每种疾病的大类编码;
(3)分别将3个大类的疾病存入3个数据集。
ICD10编码中小数点前面的三位表示大类;
length语句定义字符变量长度;
字符串取子串函数)
表4 4类疾病的ICD10编码及对应疾病名
ICD10
Disease
A01.001
伤寒
A01.002
伤寒杆菌性败血症
A01.003+
伤寒性脑膜炎
A01.101
甲型副伤寒
A01.201
乙型副伤寒
A01.301
丙型副伤寒
A01.401
副伤寒
A02.001
B群沙门氏菌肠炎
A02.002
C群沙门氏菌肠炎
A