SAS子集数据集
2018-12-14 17:18 更新
设置SAS数据集的子设置意味着通过选择较少数量的变量或较少数量的观测值或同时选择较少数量的观测值来提取数据集的一部分。 通过使用KEEP和DROP语句完成变量的子设置,使用DELETE语句完成观察的子设置。 此外,来自子设置操作的结果数据保存在可用于进一步分析的新数据集中。 子设置主要用于分析数据集的一部分而不使用那些可能与分析不相关的变量或观察的目的。
子设置变量
在这种方法中,我们只从整个数据集中提取很少的变量。
语法
SAS中子设置变量的基本语法是:
KEEP var1 var2 ... ; DROP var1 var2 ... ;
以下是所使用的参数的说明:
- var1和var2是数据集中需要保留或删除的变量名
例
考虑包含组织的员工详细信息的以下SAS数据集。 如果我们只想从数据集中获取Name和Department值,那么我们可以使用下面的代码。
DATA Employee; INPUT empid ename $ salary DEPT $ ; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 OPS 3 Mike 611.5 IT 4 Ryan 729.1 HR 5 Gary 843.25 FIN 6 Tusar 578.6 IT 7 Pranab 632.8 OPS 8 Rasmi 722.5 FIN ; RUN; DATA OnlyDept; SET Employee; KEEP ename DEPT; RUN; PROC PRINT DATA=OnlyDept; RUN;
当上面的代码执行时,我们得到以下输出。
通过删除不需要的变量可以获得相同的结果。 下面的代码说明了这一点。
DATA Employee; INPUT empid ename $ salary DEPT $ ; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 OPS 3 Mike 611.5 IT 4 Ryan 729.1 HR 5 Gary 843.25 FIN 6 Tusar 578.6 IT 7 Pranab 632.8 OPS 8 Rasmi 722.5 FIN ; RUN; DATA OnlyDept; SET Employee; DROP empid salary; RUN; PROC PRINT DATA=OnlyDept; RUN;
子设置观察
在这种方法中,我们只从整个数据集中提取少数观测值。
语法
我们使用PROC FREQ来跟踪为新数据集选择的观测值。
子设置观测的语法是:
IF Var Condition THEN DELETE ;
以下是所使用的参数的说明:
- Var是变量的名称,根据它的值,将使用指定的条件删除观察值。
例
考虑包含组织的员工详细信息的以下SAS数据集。 如果我们只想获得薪水超过700的员工的数据,那么我们使用以下代码。
DATA Employee; INPUT empid name $ salary DEPT $ ; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 OPS 3 Mike 611.5 IT 4 Ryan 729.1 HR 5 Gary 843.25 FIN 6 Tusar 578.6 IT 7 Pranab 632.8 OPS 8 Rasmi 722.5 FIN ; RUN; DATA OnlyDept; SET Employee; IF salary < 700 THEN DELETE; RUN; PROC PRINT DATA=OnlyDept; RUN;
当执行上面的代码,我们可以得到下面的输出。
以上内容是否对您有帮助:
← SAS合并数据集
更多建议: