作用:
Data set option只出现在Data set中,它能够实现以下功能
- 重命名变量
- 只处理前n条或者最后n条变量
- 删除变量
- 给数据集指定密码
语法:
语法比较简单 ,用括号括起来,然后指定这些选项: (option-1=value-1< ...option-n=value-n>) ,
比如
- data scores(keep=team game1 game2 game3);
- proc print data=new(drop=year);
- set old(rename=(date=Start_Date));
常用示例
所有的data set options可以在 Data Set Options by Category 找到,本文只简单介绍其中一小部分,使用源数据为sashelp.class,如下所示:
示例1: DROP= Data Set Option
这个表示数据集中删除一些变量,示例如下:
data work.class;
set sashelp.class(drop=height weight obs=4);
run;
proc print data=work.class;
run;
上面的例子中用了两个Data set 选项,分别是drop=和obs=,输出如下:
示例2: KEEP=Data Set Option
这个和DROP=是对应的,两者只能选一个,为了达到示例1中同样的效果,程序如下:
data work.class;
set sashelp.class(keep=Name Sex Age obs=4);
run;
proc print data=work.class;
run;
示例3: FIRSTOBS= Data Set Option
这个选项意思是从第几行开始处理数据集,比如只需要第10行到12行的数据:
data work.class;
set sashelp.class(firstobs=10 obs=12);
run;
proc print data=work.class;
run;
输出如下:
示例4: IN= Data Set Option
它的作用是Creates a Boolean variable that indicates whether the data set contributed data to the current observation.,而且只能用在以下几类的语句当中SET, MERGE, MODIFY, 和 UPDATE ,之前介绍MERGE的时候,已经有过说明,见链接SAS:数据合并简介
示例5: RENAME= Data Set Option
这个是要给变量重命名,比如想把Age变量重命名为HowOld,可以使用如下方法:
data work.class;
set sashelp.class(rename=(age=HowOld) obs=3);
run;
proc print data=work.class;
run;
输出如下:
示例6: REPLACE= Data Set Option
使用语法如下:REPLACE=NO | YES,它可以决定是否覆盖现有的数据集,示例 data mylib.one(replace=no);
示例7: WHERE= Data Set Option
注意这里的是data set选项,比如只需要年龄为15的学生数据:
data work.class;
set sashelp.class(where=(age eq 15));
run;
proc print data=work.class;
run;
输出如下: