【学习】七天搞定SAS(一):数据的导入、数据结构

2018-04-19 11:01:36 浏览数 (1)

SAS的数据类型

首先,sas的编程大概就两块:Data和PROC,这个倒是蛮清晰的划分。然后目前关注data部分。

SAS的数据类型还真的只有两种:数字和文本。那么看来日期就要存成文本型了。变量名称后面加$代表文本型。

SAS的数据读入

手动输入这种就不考虑了,先是怎么从本地文件读入。比如我们有文本文件如下

然后SAS里面就可以用

这样就建立了一个名为toads的临时数据集,然后读入外部文件ToadJump.dat,然后告诉SAS有四个变量,其中第一个是文本型。这样就OK了。缺失值用一个点.标记。

偶尔数据没那么规范,比如长成:

那么就要有点类似正则表达式的感觉,告诉SAS更多的参数:

这样SAS就可以正确的读数据了—类似于excel的导入文本-固定宽度分隔。

再不规则的话,比如有日期型的:

那么接下来就是:

就是说,name是一个长度为16的字符;age是长度为3、无小数点的数字; 1跳过空列;type是长度为1的文本;date是MMDDYY长度为10的日期;score1-5是长度为4,小数部分为1位的数字。

还有若干更复杂的,可以遇到时侯回来查手册。此外还有@可用来直接指定开始读的列。鉴于我接触的数据一般比较规范,这些就不细看了。

此外SAS可以指定开始读的行数,读取的行数等。

SAS读取CSV数据

以我最关心的CSV文件为例,如下数据:

只需要:

其实,貌似更简单的办法是:

好吧,import果然更直接一点...excel文件也可以如法炮制。

SAS读取excel数据

如果需要SAS永久存着这些数据,则需要先指定libname:

后期就可以直接调用啦:

SAS 读取Teradata数据

最后就是从teradata里面读数据,可以利用teradata fastexport特性:

等价于:

暂时没有fastload的需求,就先这样吧。

0 人点赞