搞定基本的函数之后,开始鼓捣SAS里面的模型。也就是说,要开始写PROC了。说实话,越学SAS,越觉得SAS像Stata...无论是从输出 的样式,还是语法。好不习惯没有()的模型调用呀。若是说SAS和Stata的区别,怕只是Stata更侧重于计量模型而SAS则是服务于大多数统计模型 吧。
PROC的基本内容:CONTENT
先是一个最基本的PROC:content,可以显示数据集的主要特性。比如:
这里主要是两个声明:TITLE和FOOTNOTE。前者输出时候会产生一个标题,后者会产生尾注。用法也是比较直接的:
可以变量加注释。其实R里面给变量加注释是一件非常麻烦的事情,只有少数几个包可以搞定,还非常不值的。一般说来,我尽量在变量命名的时候长一点,这样直接可以读懂;再就是重建一个新的表,存储变量名和label。
SAS PROC求子集:WHERE
如果要在PROC里面先求子集的话,可以直接调用WHERE。感觉这里和SQL的思路比较像。用法也算是比较简单(SAS里面的用法都不是很麻烦,除了某些模型):
SAS PROC 数据进行排序:SORT
排序就更简单了,直接PROC SORT就可以了。
SAS PROC 输出数据:PRINT
最简单的数据输出怕就是PRINT了,顾名思义,直接打印数据出来。这里可以进行便啦的选择,还就可以选择统计量:
得到的结果为:
SAS PROC里面改变输出格式:FORMAT
基本就是FORMAT一下就可以了,再就是PUT的时候也可以调整。
常用的格式有:
- 文本型:$HEXw.和$w.
- 日期型:DATEw.(输出为ddmmyy或者ddmmyyyy)、DATETIMEw.d(输出为ddmmyy:hh:mm:ss)、 DAYw.(输出为dd)、EURDFDDw. 、JULIANw.、MMDDYYw.(输出为mmddyy或mmddyyyy)、TIMEw.d(输出为hh:mm:ss)、WEEKDATEw.(输 出为工作日)、WORDDATEw.(输出为单词)。
- 数字型:BESTw.(自动选择)、COMMAw.d(逗号分隔)、DOLLARw.d(货币)、Ew.(科学计数法)、PDw.d、w.d(标准小数)。
输出的样本见下。
当然FORMAT还可以自定义factor型变量的输出格式,比如:
最终可以实现的自定义输出还包括简单的文本连接,比如:
可以给出若干连续的输出(注意DATA _NULL_;将不生成任何SAS的数据表):