【问题标题】:How do I keep duplicates but remove unique values based on column in R如何保留重复项但根据 R 中的列删除唯一值
【发布时间】:2019-02-23 20:56:43
【问题描述】:

如何保留重复项,但删除基于一列的唯一值 (qol)?

ID   qol  Sat
A     7   6
A     7   5
B     3   3 
B     3   4
B     1   7
C     2   7
c     1   2

但我需要这个:

ID   qol  Sat
A     7   6
A     7   5
B     3   3 
B     3   4

我能做什么?

【问题讨论】:

    标签: r duplicates unique


    【解决方案1】:

    dplyr 解决方案:

    library(dplyr)
    
    ID <- c("A", "A", "B", "B", "B", "C", "c")
    qol <- c(7,7,3,3,1,2,1)
    Sat <- c(6,5,3,4,7,7,2)
    
    test_df <- data.frame(cbind(ID, qol, Sat))
    
    filtered_df <- test_df %>%
                   group_by(qol) %>%
                   filter(n()>1)
    

    请注意,这将返回

           ID    qol    Sat
    1      A      7      6
    2      A      7      5
    3      B      3      3
    4      B      3      4
    5      B      1      7
    6      c      1      2
    

    如果您还想删除 qol == 1 但 ID 不同的两行,只需执行以下操作:

    filtered_df <- test_df %>%
                   group_by(ID, qol) %>%
                   filter(n()>1)
    

    这将返回您在问题中提供的示例输出。

    【讨论】:

    • 感谢回复,但是我正在尝试编写代码提取ID和qol列重复时的行,导致最后三行的遗漏。
    • 我收回我之前的评论,我让你的代码工作了。
    猜你喜欢
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多