如何在 sas 中删除行(3 个示例)
以下是 SAS 中删除行的三种最常见方法:
方法一:根据单一条件删除行
data new_data;
set original_data;
if var1 = " string " then delete;
run ;
方法二:根据多个条件删除行
data new_data;
set original_data;
if var1 = " string " and var2 < 10 then delete;
run ;
方法3:根据以下任一条件删除行
data new_data;
set original_data;
if var1 = " string " or var2 < 10 then delete;
run ;
以下示例展示了如何在 SAS 中对以下数据集使用每种方法:
/*create dataset*/
data original_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 19
A Guard 22
A Forward 25
A Forward 27
B Guard 11
B Guard 13
B Forward 19
B Forward 22
B Forward 26
;
run ;
/*view dataset*/
proc print data = original_data;
示例 1:根据条件删除行
以下代码演示如何从数据集中删除team等于“A”的所有行。
/*create new dataset*/
data new_data;
set original_data;
if team = " A " then delete;
run ;
/*view new dataset*/
proc print data = new_data;
请注意,所有团队等于“A”的行都已被删除。
示例 2:根据多个条件删除行
以下代码显示如何从数据集中删除团队等于“A”且分数小于 20 的所有行:
/*create new dataset*/
data new_data;
set original_data;
if team = " A " and points < 20 then delete;
run ;
/*view new dataset*/
proc print data = new_data;
请注意,球队等于“A”且分数小于 20 的两条线已被删除。
示例 3:根据多个条件之一删除行
以下代码显示如何从数据集中删除团队等于“A”或分数小于 20 的所有行:
/*create new dataset*/
data new_data;
set original_data;
if team = " A " or points < 20 then delete;
run ;
/*view new dataset*/
proc print data =new_data;
请注意,球队等于“A”或分数低于 20 的 8 条线已被删除。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: