我的虚拟数据如下所示:
> head(dummy)
C1 C2
[1,] 1 1
[2,] 1 2
[3,] 1 3
[4,] 2 3
[5,] 2 4
[6,] 2 5
值3
在C2
中重复,但这些行在数据框中是唯一的。我想根据C2
删除所有重复项,并根据C1
仅保留第一个/最后一个重复项。
我想要的例子:
> remove duplicates leave first in C1
C1 C2
[1,] 1 1
[2,] 1 2
[3,] 1 3
[5,] 2 4
[6,] 2 5
# filtered [4,] 2 3
或者
> remove duplicates leave first in C1
C1 C2
[1,] 1 1
[2,] 1 2
[4,] 2 3
[5,] 2 4
[6,] 2 5
# filtered [3,] 1 3
答案 0 :(得分:1)
如果dat是数据集
dat[with(dat, !duplicated(C2)),]
C1 C2
1 1 1
2 1 2
3 1 3
5 2 4
6 2 5
dat[with(dat, !duplicated(C2,fromLast=TRUE)),]