删除SAS中的重复行

时间:2015-12-23 15:04:51

标签: csv sas duplicates

我正在尝试使用SAS从csv文件中删除重复的行但是无法执行此操作。我的数据看起来像 -

site1,variable1,20151126000000,22.8,140,1
site1,variable1,20151126010000,22.8,140,1
site1,variable2,20151126000000,22.8,140,1
site1,variable2,20151126000000,22.8,140,1
site2,variable1,20151126000000,22.8,140,1
site2,variable1,20151126010000,22.8,140,1

第4行是第3行的副本。这只是一个例子,我在文件中有超过一千条记录。我尝试通过创建子集但没有得到所需的结果。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我认为您可以使用nodupkey,只需引用您的密钥,或者您可以使用_all_ -

proc sort data = file nodupkey;
by _all_;
run;

答案 1 :(得分:0)

在本文中,您可以找到其他选项来删除重复的行:https://support.sas.com/resources/papers/proceedings17/0188-2017.pdf

如果所有列都已排序,最简单的方法是使用选项noduprecs

proc sort data = file noduprecs;
by some_column;
run;

与选项nodupkey相比,无论您在by之后声明哪个列,它始终会删除基于所有列的重复行。

编辑:显然,所有列都必须排序(->请看下面的注释)。