欢迎来到天天文库
浏览记录
ID:37712985
大小:28.29 KB
页数:17页
时间:2019-05-29
《sas读入数据全解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SAS数据步导入数据终极汇总——经典,一看就会一、将数据录入SAS——DATAStep/Viewtable 1.Internalrawdata-DatalinesorCards命令; 2.ExternalRawdatafiles-Infile命令+Input命令;二、将数据文件读入SAS——DATAStep/PROCIMPORT 1.将SAS文件读入SAS—— datasasuser.saslin; set"F:sas1.sas7bdat"; run; proccontentsdata=sasuser.saslin; run; 2.将
2、其他形式文件导入成SAS——PROCIMPORT/直接读入其他形式文件 procimportdatafile="c:datahsb2.sav"out=work.hsb2; run; proccontentsdata=hsb2; run; SAS导入数据:SASrecognizesthefiletypetobeimportedbyfileextension. 对数据长度的限制 在一些操作环境,SAS假定外部文件的纪录对最长为256(一行数据包括空格等所有字符在内的长度),如果预计读入的纪录长度超过256,可
3、在Infile语句中使用LRECL=n这个命令。读入以空格作为分隔符的原始数据 如果原始数据的不同变量之间是以至少一个空格作为分隔符的,那可以直接采用List方法将这些数据读入SAS。ListInput读数据非常方便,但也有很多局限性:(1) 不能跳过数据;(2) 所有的缺失值必须以点代替(3) 字符型数据必须是不包含空格的,且长度不能超过8;(4) 不能直接读入日期型等特殊类型的数据。程序举例:INPUTName$AgeHeight; 读入按列组织的数据有些原始数据的变量之间没
4、有空格或其他分隔符,因此这样的文件不能以List形式对入SAS。但若不同变量值的都在每条记录的固定位置处,则可以按照Column形式读入数据。Colunm读数据方法要求所有的数据均为字符型或者标准的数值型(数值中仅包括数字,小数点,正负号,或者是E,不包括逗号或日期型数据)。相对于List方法,Column读数据方法有如下优点:(1) 变量值之间无需用空格分开;(2) 可以空格表示缺失值;(3) 字符型数据中可包括空格;(4) 可跳过数据。程序举例:INPUTName$1-10Age11-13Height14-18;使用格
5、式命令读入非标准格式的数据字符型数据:$informatw.数值型数据: informatw.d日期型数据: Datew.(1)字符型:$CHARw.:不删除前后空格,读入字符数据;$HEXw.:将16进制的数据转化成字符数据;$w. :删除前面空格,读入字符数据;(2)日期,时间或日期时间型数据DATEw. :以ddmmmyy或ddmmmyyyy形式读入日期;DATETIMEw.:以ddmmmyyhh:mm:ss.ss形式读入日期时间;DDMMYYw. :以ddmmyy或ddmmyyyy读入日期;JULIANw.
6、 :以yyddd或yyyyddd读入Julia日期;MMDDYYw. :以mmddyy或mmddyyyy形式读入日期;TIMEw. :以hh:mm:ss.ss形式读入时间;(3)数值型数据COMMAw.d :读入数值型数据,将其中的逗号,$删除,并将括号转化为负号HEXw. :将16进制数据转化成浮点型数据IBw.d :读入整数二进制数据;PERCENTw. :将百分数转化为普通数据;w.d :读入标准的数值型数据。IN
7、PUTName$16.Age3.+1Type$1.+1DateMMDDYY10. (Score1Score2Score3Score4Score5)(4.1); 多种输入格式综合读入位置控制——列指针+n–n:控制列指针从当前位置向前或向后移动n个字符;@n :控制列指针指向举例:INPUTParkName$1-22State$Year@40AcreageCOMMA9.; 读入杂乱数据在不确定从哪一列开始读入数据,但知道读入的数据均位于某一特定字符或字符串之
8、后时,可采用@’char
此文档下载收益归作者所有