由于个人编程中总会遇到一些SAS的小问题,所以把可用的一些技巧写成博客,一是方便自己随时查阅,二是也方便大家有问题的时候查看。
- 想查看SAS中安装了哪些模块:
PROC SETINIT noalias;
RUN;
- 导入本地数据集
PROC IMPORT OUT=DataName DATAFILE=FileName REPLACE;
SHEET=SheetName;
GETNAMES=yes;
RUN;
PROC IMPORT 可以导入的数据类型很多,本人用的比较多的是xls,xlsx和csv
getname:获取表头;
sheet:具体的工作簿名(xls和xlsx文件中需要用到)
- 删除以‘_’开头的数据集
PROC DATASETS NOWARN NOLIST;
DELETE _:;
RUN;
QUIT;
PS:其实其它字符开头的也可以,把下划线换成其它的即可
- First和Last的使用
如果只想保留某分类下第一行/最后一行的数据,或对某分类下的第一行(非第一行)/最后一行(非最后一行)的数据进行处理,都可以用First和Last。
在做First和Last前,注意把相应的变量进行排序。
下面是一个操作实例:
本来生成的数据集是这样的:
为了出表美观,现在想把Var变量下的Age和BMI只显示一个,其余清空,就可以用First语句,代码如下:
PROC SORT DATA=Cont;
BY VAR;
RUN;
DATA _tmp;
SET Cont;
BY Var;
IF NOT FIRST.Var THEN Var = '';
RUN;
实现的效果如下: