有条件地选择重复项并有选择地选择保留哪些重复项

时间:2019-08-28 20:25:34

标签: r

我目前正在使用一个大型数据框进行研究,该研究涉及R studio中具有7个变量的486个观测值(请参见附件中的虚拟数据样本)。其中两个变量是ID号:第一个ID号对于每个人都是唯一的。但是,有时一个人会在列表中出现多次,因此该第一个ID号重复。第二个ID号码对于每个人也是唯一的,但它列出了研究访问号码作为后缀(以表示他们是在一段时间内进来的)。因此,该第二ID号没有重复项。例如,假设某人的第一个ID号为0001,并且他们有两个第二个ID号为xx0001_1(第一次访问实验室)和xx0001_2(第二次访问实验室)。但是,数据框中的绝大多数人只来一次访问,因此他们没有重复的第一个ID号(在这种情况下为第二个ID号)。

我的问题是:我只想选择那些具有重复的第一个ID编号的对象,然后过滤掉它们的每个数据点,这样我就只保留他们的第二次访问。例如,我只需要选择具有重复的第一个ID号(例如“ 0001”)的那些,并且在其中我要过滤掉“ xx0001_1”的访问并仅保留“ xx0001_2”的访问。

我知道我可以对第一个ID号使用“ distinct”功能,但是问题是,这消除了第二个ID号(例如xx0001_2)中的第二个,并保留了第一个ID号(例如xx0001_1)。我想做相反的事情:我想消除第一个ID编号的重复项,但只将第二次访问的行保留在第二个ID编号中(例如,保留xx0001_2但删除xx0001_1)。我是R /编码的新手。我怎样才能做到这一点?谢谢!

Example data sample

distinct(.data, ID 1, .keep_all = T)

但是,此代码仅保留第一行。我要删除第一行,而只保留第二行。谢谢!

0 个答案:

没有答案