【问题标题】:Identifying which values are duplicates in R [duplicate]识别 R 中的重复值 [重复]
【发布时间】:2014-10-26 23:39:41
【问题描述】:

我想根据一个变量中的值来确定哪些观察结果是重复的,但是我希望所有产生重复的观察都被识别出来,而不仅仅是它们第二次出现。例如:

x <- c(1,2,3,4,5,7,5,7)
duplicated(x)
[1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE

我希望识别最后四个元素以及匹配的元素(例如元素 5 和 7、6 和 8),而不是识别最后两个元素。谢谢。

【问题讨论】:

  • 我希望它能够灵活地用于不同的排序。

标签: r duplicates match


【解决方案1】:

你可以使用duplicated两次:

duplicated(x) | duplicated(x, fromLast = TRUE)
# [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE

【讨论】:

    【解决方案2】:

    你可以试试table

    x <- c(1,2,3,4,5,7,5,7)
    tab <- table(x) > 1
    x[x %in% names(which(tab))]
    # [1] 5 7 5 7
    

    另一个受@rawr 评论启发的方法是

    x %in% x[duplicated(x)]
    # [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
    x[ x %in% x[duplicated(x)] ]
    # [1] 5 7 5 7
    which(x %in% x[duplicated(x)])
    # [1] 5 6 7 8
    

    【讨论】:

      猜你喜欢
      • 2015-01-23
      • 2020-12-31
      • 1970-01-01
      • 2021-12-24
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2021-09-13
      相关资源
      最近更新 更多