SAS数据输入总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAS学习总结
一、SAS的数据录入
(1)直接输入
data first;
input name $ salary;
datalines;
a 12
b 34
c 56
d 78
;
run;
注意:datalines的位置以及数据录入后的分号
(2)借助infile 可读入文本格式为dat、txt、csv
A.最简单的形式
data first;
infile 'c:\users\lichao\desktop\sas\data\toadjump.dat';
input Toadname $ Jump1 Jump2 Jump3 Jump4;
run;
proc print data=work.first;
run;
B.有空格的情况,需要数一下
data second;
infile 'c:\users\lichao\desktop\sas\data\onionring.dat';
input Name $ 1-19 Jump1 22-24 Jump2 25-28 Jump3 30-31 Jump4 33-34 Jump5 37 Jump6 40;
run;
proc print data=work.second;
run;
C.格式重复的情况
data third;
infile 'c:\users\lichao\desktop\sas\data\exercise.dat';
input Num1 Num2 Num3 @@;
run;
proc print data=work.third;
run;
注意:@@的用法
D.其他的格式
Ⅰ.输出特定的行
data icecream;
infile 'c:\users\lichao\desktop\sas\data\icecreamsales2.dat' firstobs=3 obs=5;
input Flavor $ 1-9 Location Boxessold;
run;
proc print data=icecream;
run;
注意:firstobs和obs的位置不要改变,而且两者可以单独使用
Ⅱ.有缺失值
data class;
infile 'c:\users\lichao\desktop\sas\data\allscores.dat' missover;
input name $ test1 test2 test3 test4 test5;
run;
proc print data=class;
run;
注意:在有缺失值的情况下,如果输出有错误的话就用missover
Ⅲ.非正常的输入:
data third;
infile 'c:\users\lichao\desktop\sas\data\pumpkin.dat';
input Name $16. num 3. type $2. date $11. (num1 num2 num3 num4 num5) (4.1); run;
proc print data=third;
run;
注意:16. 和3. 、4.1等的表示方法,都是表示宽度,相比较数列数的方法更有效;
输入格式相同的话可以加括号把格式写在后面的括号里。
Ⅳ.日期的输入:
按照数值处理,根据情况,使用MMDDYYw. 或者DDMMYYw.
(3)import 录入其他格式的文件(可导入的格式非常多)
proc import datafile='c:\users\lichao\desktop\sas\data\second.xls' dbms=xls out=mydata replace; sheet="sheet1$";
range="a1:b3";
run;
proc print data=mydata;
run;
注意:sheet表示单元表的名字,range表示导入的数据范围