在SAS中使用KEEP和DROP语句的方法

1,563 阅读2分钟

在创建一个新的数据集时,你可以在SAS中使用KEEPDROP语句来保留或删除现有数据集中的特定变量。

这些语句使用以下基本语法。

方法1:选择要保留的列

data new_data;
    set original_data;
    keep var1 var3;
run;

方法2:选择要删除的列

data new_data;
    set original_data;
    drop var5;
run;

下面的例子说明了如何在SAS中用以下数据集来使用每种方法:

/*create dataset*/
data original_data;
    input team $ points rebounds;
    datalines;
Warriors 25 8
Wizards 18 12
Rockets 22 6
Celtics 24 11
Thunder 27 14
Spurs 33 19
Nets 31 20
;
run;

/*view dataset*/
proc print data=original_data;

例子1:选择哪些列要保留

下面的代码显示了如何使用KEEP语句在SAS中创建一个新的数据集,只保留原数据集中的球队篮板变量:

/*create new dataset*/
data new_data;
    set original_data;
    keep team rebounds;
run;

/*view new dataset*/
proc print data=new_data;

请注意,我们保留了原始数据集中的球队篮板的变量,而其他的变量则被简单地删除。

例2:选择要删除的列

下面的代码显示了如何使用DROP 语句在SAS中创建一个新的数据集,将篮板变量从原数据集中删除:

/*create new dataset*/
data new_data;
    set original_data;
    drop rebounds;
run;

/*view new dataset*/
proc print data=new_data;

请注意,在原始数据集中的所有其他变量都被保留的情况下,篮板变量被从数据集中删除。

KEEP与DROP:你应该使用哪个语句?

KEEPDROP语句的结果是一样的。它们都允许你通过保留或删除现有数据集中的某些变量来创建一个新的数据集。

通常情况下,当我们只想保留原数据集中的几个变量时,我们会使用KEEP语句,因为这比输入所有我们想放弃的变量要快。

相反,当我们只想从原始数据集中删除几个变量时,我们通常会使用DROP语句,因为这比输入所有我们想保留的变量要快。

其他资源

下面的教程解释了如何在SAS中执行其他常见任务:

如何在SAS中重命名变量
如何在SAS中创建新变量
如何在SAS中替换字符串中的字符