我有一个复杂的数据集,需要拉出独特的个人,他们可能会因为不同的原因有多个观察结果。下面是一个如何组织数据的例子。
id caseid employerid
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
3 1 1
3 2 1
基本上,个人有一个独特的id,但可能是在多个案例中,也可能有多个雇主。我想通过caseid来删除重复的数据,但不是通过雇主id来删除每个人的数据,我不知道如何做到这一点。谢谢,我有一个复杂的数据集,我想通过caseid来删除重复的数据,而不是通过雇主id来删除每个人的数据,我不知道如何做到这一点。
根据#2将所有记录从你的have表中分离出来。
proc sql;
create table _filtered as
select id, count(distinct caseID) as n_caseID, count(distinct employerID) as n_employerID
from have;
order by 1, 2, 3;
quit;
proc sql;
create table want as
select *
from have where ID in
(select ID from _filtered where n_caseID=1);
quit;