本帖最后由 花映碧水 于 2013-12-29 13:27 编辑
- f$ n8 X, k0 R+ K7 e) H/ Z0 D! L; m$ v: a4 D
在此首先非常感谢会员“奚鑫”提供资源,为方便大家观看,特此将全文转载到数学中国方便大家直接查阅~1 {, M6 Z9 q! i9 t& F- H/ h
2 r# p: \4 ]: }. y% Z在学习SAS之前很多朋友可能已经会使用其他分析工具进行数据分析了,那么我们自然会想,如何用SAS读取我们用EXCEL或SPSS保存过的数据文件呢。 对于没有使用过其他分析工具的朋友,在工作中也会遇到需要分析别人为我们准备好的数据文件,这些文件的种类可谓是五花八门,在开始分析工作之前我们需要将这些文件导入到SAS数据集中,这就是数据分析中经常提到的数据导入问题。 数据导入看似简单,却是数据分析中非常重要的一个环节,从工作量来看,数据导入和数据诊断占到整个分析项目总时间的百分之九十以上,导入的数据是否正确,直接导致到以后分析工作能否顺利进行,可以说关系到整个分析工作的成败。 这次重点分享如何用SAS导入EXCEL文件,其他类型的文件的导入问题以后会慢慢分享。 有如下需求: 在路径 D:\data 下存放了一个名为mydata.xls的文件,我们需要将存放在这个文件名为sheet1的工作表中的数据导入到名为myfile的数据集中。 使用如下代码实现上面的需求: proc import datafile = "D:\data\mydata.xls"dbms = excel out = myfile; sheet = "sheet1"; getnames = no; run; proc print data =myfile; run; 按F3,运行代码,查看日志,确认是否EXCEL文件已经成功读取到SAS数据集当中了。 代码分析: datafile:需要导入的excel文件爱你名称; dbms:需要导入的文件类型,这里是excel; out:SAS数据集的名称; sheet:数据所在工作表的名称; getnames:数据中的第一行是否是字段名称,如果是则赋值yes,否则赋值no。 补充说明: 如果数据存储在一个特定的区域内,可以指定区域的名称,比如:数据存储在名为students的区域中。将上面的代码修改为: proc import datafile = "D:\data\mydata.xls"dbms = excel out = myfile; sheet = "sheet1"; range = "students"; getnames = no; run; proc print data =myfile; run; dbms选项可以不添加,因为SAS系统会根据文件的扩展名自动判断文件的类型。
& v8 @5 l( L$ ?$ J& Z3 l9 C/ }4 |由于数据类型和数据质量的不同,使用上面的代码可能会遇到意想不到的问题,希望和感兴趣的朋友一起研究。
( b' l2 _; \' v9 v. {' g5 T7 B+ S& P; V. M! {
|