如何在 sas 中删除重复项(附示例)


您可以使用 SAS 中的proc sort来快速从数据集中删除重复行。

此过程使用以下基本语法:

 proc sort data =original_data out =no_dups_data nodupkey ;
by _all_;
run;

请注意, by参数指定删除重复项时要扫描的列。

以下示例展示了如何从 SAS 中的以下数据集中删除重复项:

 /*create dataset*/
data original_data;
    input team $position $points;
    datalines ;
A Guard 12
A Guard 20
A Guard 20
A Guard 24
A Forward 15
A Forward 15
A Forward 19
A Forward 28
B Guard 10
B Guard 12
B Guard 12
B Guard 26
B Forward 10
B Forward 10
B Forward 10
B Forward 19
;
run ;

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

示例 1:从所有列中删除重复项

我们可以使用以下代码来删除数据集中所有列中具有重复值的行:

 /*create dataset with no duplicate rows*/
proc sort data =original_data out =no_dups_data nodupkey ;
    by _all_;
run ;

/*view dataset with no duplicate rows*/
proc print data =no_dups_data; 

请注意,从原始数据集中删除了总共五个重复行。

示例 2:从特定列中删除重复项

我们可以使用by参数来指定删除重复项时要检查的列。

例如,以下代码删除teamposition列中具有重复值的行:

 /*create dataset with no duplicate rows in team and position columns*/
proc sort data =original_data out =no_dups_data nodupkey ;
    by team position;
run ;

/*view dataset with no duplicate rows in team and position columns*/
proc print data =no_dups_data; 

删除团队位置列中具有重复值的行后,数据集中仅保留四行。

其他资源

以下教程解释了如何在 SAS 中执行其他常见操作:

如何标准化 SAS 中的数据
如何识别 SAS 中的异常值
如何在SAS中使用过程摘要
如何在SAS中创建频率表

添加评论

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