我正在尝试删除所有具有重复值的行。因此,在该示例中,我想删除x列下的具有2的行和具有6的三行。我已经尝试过df[!duplicated(xy$x), ]
,但是这仍然给了我重复的第一行,我不希望任何一行。
x <- c(1,2,2,4,5,6,6,6)
y <- c(1888,1999,2000,2001,2004,2005,2010,2011)
xy <- as.data.frame(cbind(x,y))
xy
x y
1 1 1888
2 2 1999
3 2 2000
4 4 2001
5 5 2004
6 6 2005
7 6 2010
8 6 2011
我想要的是
x y
1 1888
4 2001
5 2004
任何帮助表示赞赏。我需要避免指定要除去的值,因为我正在处理具有数千条记录的数据框。
最佳答案
我们能做的
xy[! xy$x %in% unique(xy[duplicated(xy$x), "x"]), ]
# x y
#1 1 1888
#4 4 2001
#5 5 2004
如
unique(xy[duplicated(xy$x), "x"])
给出重复的
x
的值。然后,我们可以将其过滤掉。关于r - 删除在R中重复的两行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35832931/