如何在 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 中执行其他常见任务:

如何在SAS中使用过程摘要
如何在SAS中重命名变量
如何在 SAS 中创建新变量

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注