sas概述.docx
- 文档编号:6749082
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:20
- 大小:17.70KB
sas概述.docx
《sas概述.docx》由会员分享,可在线阅读,更多相关《sas概述.docx(20页珍藏版)》请在冰豆网上搜索。
sas概述
1.1sas概述
/*程序1.1:
*/
DATAidsj;
inputidagev2@@;
year=v2*12;
cards;
0130250002293000033335500456330005452800
;
procprint;
run;
1.2观测值、变量常量
程序1.2:
DATA;
X=’male’;
Putx;
X=’female’;
Putx;
run;
程序1.3:
DATAsj2;
inputv1v2@@;
year=v2*12;
cards;
01250002300003280004330005.
;
procprint;
run;
程序1.4:
DATAsj3;
inputidmonth@@;
year=month*12;
ifyear<36000thenc=1;elsec=2;
cards;
01250002300003280004330005.
;
procprint;
run;
程序1.4a:
DATAsj3;
inputv1v2@@;
ifv1>v2andv2>0thenc1+1;
ifv1>v2orv2>0thenc2+5;
ifv1>v2orv1~=0thenc3+15;
if~v1>v2or~v1~=0thenc4+100;
z1=(3<>4);
z2=(3><4);
cards;
2500300028003300
;
procprint;
run;
程序1.4b:
DATAsj4;
v1='4';
v2='6';
y=v1+v2;
cards;
procprint;
vary;
run;
程序1.5:
DATAsj5;
inputabc@@;
if4<=athengotook;
a=3;
count+1;
return;
ok:
suma+a;
cards;
369102215121014
;
procprint;
run;
程序1.6:
DATAscore;
inputidtest1$test2$@@;
test=test1;linkrecode;
test=test2;linkrecode;
return;
recode:
iftest='d'thentest='c';
return;
cards;
01bc02cd03ac04ad
;
procprint;
run;
程序1.7:
DATAarray;
inputa1-a6b1-b6;
arraytest[8]a1-a4b1-b4;
puttest[4]=test[5]=;
cards;
123456101102103104105106
111213141516111112113114115116
;
procprint;
run;
2.1DATA语句
程序2.1:
DATA_null_;
inputidabc@@;
s=sum(ofabc);
a=mean(ofabc);
putsa;
cards;
001899192002918893003887995
;
run;
程序2.2:
DATA;
inputidabc@@;
s=sum(ofabc);
a=mean(ofabc);
putsa;
cards;
001899192002918893003887995
;
run;
2.2INPUT语句
程序2.4a:
DATA;
inputidsex$age3.2@@;
cards;
01f15002m16203f17004m16205f16806f161
;
procprint;
run;
程序2.4b:
DATAdays;
inputiddate$8.data$10.@@;
cards;
100101-31-0618/oct/06100210-02-2828/jan/06
100312-30-0626/aug/06
;
procprint;
run;
程序2.4c:
DATAdays;
inputname$8.tdate8.;
formattyymmdd8.;
cards;
zhangsan28oct88
wangwu18jan90
lisi28nov92
;
procprint;
run;
程序2.5:
DATA;
inputidv1-v3#2v4-v6;
cards;
1001708090
758595
1002606888
768798
;
procprint;
run;
程序2.6:
DATA;
inputidv1-v3/v4-v6;
cards;
1001708090758595
1002606888768798
;
procprint;
run;
程序2.7:
DATA;
inputidv1-v3/@6v4-v6;
cards;
1001708090
1001758595
1002606888
1002768798
;
procprint;
run;
程序2.8:
DATA;
inputidv1-v3+5v4-v6;
cards;
10017080901001758595
10026068881002768798
;
procprint;
run;
2.INPUT的固定格式
程序2.9:
DATAb;
inputid1-2sex4age6-7;
cards;
01128
02238
03145
04236
;
procprint;
run;
程序2.10:
DATAb;
inputid1-2sex4age6-7;
cards;
01128
02238
031
042
;
procprint;
run;
程序2.11:
DATA;
inputid1-2sex4age6-8.1;
cards;
011345
022256
032402
041505
051.
;
procprint;
run;
程序2.12:
DATA;
inputid1-2sex4age6-7name$9-19;
cards;
01128Zhangsan
02238Lisi
03145Wangwu
04236Maliu
;
procprint;
run;
2.3LENGTH语句
程序2.13:
DATA;
Lengthname$12.;
inputid1-2sex4age6-7name&;
cards;
01128Zhangsan
02238Lisi
03145Wangwu
04236Maliu
;
procprint;
run;
2.4用LABLE语句指定变量标签
程序2.13:
DATAa1;
Inputid1-2sex4age6-7;
labelid=’个案号’sex=’性别’age=’年龄’;
cards;
01128
02238
031
042
;
procfreq;
tablesex*age;
procprintdata=a1;
run;
2.5用PROCFORMAT过程指定数据标签
程序2.13:
DATAa1;
Inputid1-2sex4age6-7;
labelid=’个案号’sex=’性别’age=’年龄’;
cards;
01128
02238
03155
04229
;
procformat;
valuesexF1=’男性’2=’女性’;
formatsexsexF.;
procfreq;
formatsexsexF.;
tablesex*age;
procprintdata=a1;
run;
2.6用MISSING语句宣告缺失值
程序2.16:
DATAm1;
MissingAR;
Inputidsex$age@@;
cards;
01m4002f5003m3004.2805f3506.45
;
procfreq;
tablesex*age;
procprintdata=a1;
run;
2.8创建新变量
程序2.17:
DATAa2;
Inputid1-2sex4age6-7mincl9-13.1;
labelid='个案号'sex='性别'age='年龄'mincl='月收入';
yinc=mincl*12;
cards;
0112845000
0223836000
0315530000
0422925000
;
procformat;
valuesexF1='男性'2='女性';
formatsexsexF.;
procfreq;
formatsexsexF.;
tablesex*age;
procprint;
run;
2.9
程序2.18:
DATAa3;
Inputidscore1score2@@;
Score1=.;
Score2=socre1+5;
Score=sum(score1,5);
cards;
018090027888036879
;
procprint;
run;
2.10
程序2.19:
DATA;
Inputx1x2@@;
Y+x1;
cards;
203040202518
;
procprint;
run;
2.11
程序2.20:
DATAx;
Inputx1x2@@;
Y+x1;
cards;
203040202518
;
procprint;
DATAd;
Setx;
T=sum(ofx1x2);
Dropx1;
Keepx2;
Procprint;
run;
2.12
程序2.21:
DATAs;
Infile'd:
\my1.txt';
Inputidsexagemincl@@;
Y=mincl*12;
procprint;
run;
3.1.1
程序3.1:
DATAscore1;
Inputidabc;
Total=sum(ofabc);
Iftotal>270thenputidtotal;
Cards;
001899192002918893003887995
;
Run;
程序3.2:
DATAscore2;
Inputidabc@@;
Ifa>90orb>90orc>90thenputidabc;
Cards;
001899192002918893003887995
;
Run;
程序3.3:
DATAscore3;
Inputidabc@@;
M=mean(ofabc);
Ifm>85thenputidm;
Cards;
001899192002918893003887995
;
Run;
3.1.2
程序3.1:
DATAscore1;
Inputidabc;
Total=sum(ofabc);
3.2
程序3.6:
Datag1;
Inputidab@@;
Ifa>=5anda<=8thengotook;
a=6;
Count+1;
Ok:
suma+b;
Cards;
0018.85.50027.58.50036.57.5
;
Procprint;
Run;
程序3.7:
Dataa1;
Inputidt1t2t3@@;
T=t1;linkcompute;
T1=t;
T=t2;linkcompute;
T2=t;
T=t3;linkcompute;
T3=t;
Compute:
ift=3thent=4;
return;
cards;
001345002435003344
;
Procprint;
Run;
程序3.8:
Datab1;
Inputidabc@@;
Ifa>bthengotook;
b=4;
Count+1;
Return;
Ok:
c+1;
Cards;
01534024780397504645
;
Procprint;
Run;
程序3.10:
Datag2;
Inputidab@@;
Ifa>=5anda<=8thendo;
a=6;
Count+1;
End;
suma+b;
Cards;
0018.85.50027.58.50036.57.5
;
Procprint;
Run;
程序3.11:
Datag22;
Inputidab@@;
Ifa>=5anda<=8thendo;
a=6;
Count+1;
End;
Elsesuma+b;
Cards;
0018.85.50027.58.50036.57.5
;
Procprint;
Run;
3.5删除部分个案
程序3.12:
Datad1;
Inputidabc@@;
Ifa<=65thendelete;
M=mean(ofabc);
Cards;
001886465002798690003687780
;
Procprintdata=d1;
Run;
程序3.13:
Datai1;
Inputidsexlocationage@@;
Cards;
0011188002227900312680042177
;
Datai2;
Seti1;
Ifsex=1andlocation=1;
Procprintdata=i2;
Datai3;
Seti1;
Ifsex=2andlocation=2;
Procprintdata=i3;
Run;
3.6循环语句
程序3.14:
Datax1;
I=1;
P:
putI;
I=i+1;
Ifi<10thengotop;
Procprintdata=x1;
Run;
程序3.15:
Datax2;
Doa=1to10;
Puta=;
End;
Datax3;
Doi=1by1;
Puti=;
Ifi=10thengotok;
End;
K:
put'循环结束';
Procprintdata=x3;
Run;
程序3.16:
Datad9;
Doi=1to9;
Doj=1toI;
X=i*j;
Put+1x@;
End;
Put;
End;
Datad99;
Doi=1to9;
Doj=1toI;
X=i*j;
Put+1@j+3x@;
End;
Put;
End;
Procprint;
Run;
程序3.17:
Datad999;
Doj=1to9;
Doi=1toj;
Y=i*j;
Put+2@i+8y;
End;
Put+10;
End;
run;
3.7数组
程序3.18:
datas1;
inputtest1-test5tt1-tt5@@;
arrayscore{8}test1-test4tt1-tt4;
putscore{4}=score{7}=;
cards;
889580909910089928979
776898100888984788897
;
run;
程序3.1:
Datas2;
Inputtest1-test7@@;
Arrayscore[7]test1-test7;
Arrayav7[7]t1-t7;
Doi=1to7;
Ifscore[i]=59thenscore[i]=60;
Av7[i]=score[i]/7;
End;
Cards;
825977808588991005980788698100
;
Procprint;
Run;
程序3.20:
Datap33;
Inputidv1-v4@@;
Arrayvv[4]v1-v4;
Arraydd[4,4]d11d12d13d14d21-d24d31-d34d41-d44;
Doi=1to4;
Doj=1to4;
Ifvv[i]=jthendd[I,j]=1;
Elsedd[I,j]=0;
End;
End;
cards;
011234024123033124042331
;
Procprint;
Run;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sas 概述
![提示](https://static.bdocx.com/images/bang_tan.gif)