0

在此处输入图像描述我需要删除具有重复对的观察结果(即原始观察结果是重复的)。我有一百多列,但有时对于给定的 ID,我会得到一对不同的 Load_Date 和一对 Contactor 列。当我有如上所述的重复对时,我使用以下代码删除所有情况在此处输入图像描述

你能告诉我我的做法是否正确吗?根据描述的数据,我只需要保留 ID 值 C 和 D 的记录。我确实检查了我的输出,看起来它有效,但仍然不确定,因为我是 proc sql 的新手。谢谢!

4

2 回答 2

3

SAS 解决方案,假设您只想删除重复ID的 .

proc sort data=have;
by ID;
run;

data want;
set have;
by ID;
if first.ID and last.ID;
run;

这将删除 ID 相同的记录。如果 VAR1 和 VAR2 也相关,您也可以将它们添加到排序中;FIRSTandLAST应该是by语句中最右边的变量。

于 2014-01-30T21:59:02.847 回答
1

还有一个 proc SQL 解决方案。相同的输出,但一步,没有明确的排序。

proc sql; 
    create table WANT as
    SELECT *
    FROM have
    GROUP BY ID
    /* Put your criteria here, can use any COUNT DISTINCT*/
    HAVING COUNT(*)=1
;quit;
于 2014-01-31T17:24:14.360 回答