删除除最后一个实例之外的所有重复项

use*_*372 14 r duplicate-removal

所以我在R中有一个数据集,其中以下布局为例:

ID Date Tally
1 2/1/2011 1
2 2/1/2011 2
3 2/1/2011 3
1 2/1/2011 4
2 2/1/2011 5
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
Run Code Online (Sandbox Code Playgroud)

我想删除除post id的LAST实例之外的所有实例.现在我可以在网上找到的所有东西,我正在使用的功能是删除除FIRST实例之外的所有内容.

所以我的新数据框架看起来像:

ID Date Tally
1 2/1/2011 6
3 2/1/2011 7
4 2/1/2011 8
2 2/1/2011 9
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?现在我只能保留第一个实例.我希望它做相反的事情吗?有帮助吗?

忍受我,我是R的新手:)

42-*_*42- 15

这不仅仅是使用'fromLast'参数的标准情况duplicated吗?

 dat[ !duplicated(dat[, c("ID", "Date")], fromLast=T),]
#---------
  ID     Date Tally
6  1 2/1/2011     6
7  3 2/1/2011     7
8  4 2/1/2011     8
9  2 2/1/2011     9
Run Code Online (Sandbox Code Playgroud)

您的示例不够丰富,无法判断您是否需要在重复测试中使用"日期"列,因此您可以简化.我将其留下来说明duplicated有一个data.frame方法.我更喜欢!duplicated,unique因为如果您要比较组,它可以轻松访问set补充.


Fer*_*aft 10

使用!rev(duplicated(rev(ID)))过滤掉所有,但最后一个独特的事件.

要过滤数据集,请使用 dataset[!rev(duplicated(rev(dataset$ID))),]