我正在尝试删除所有具有重复值的行。因此,在该示例中,我想删除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/

10-12 06:15