【问题标题】:Keep the distinct rows among groups based on a column in dplyr [duplicate]根据 dplyr 中的列保留组之间的不同行 [重复]
【发布时间】:2021-08-06 17:21:19
【问题描述】:

我的数据框是这样的

df <- data.frame(gene=c("A","B","C","A","B","D"), 
                 origin=rep(c("old","new"),each=3),
                 value=sample(rnorm(10,2),6))

  gene origin     value
1    A    old 1.5566908
2    B    old 1.3000358
3    C    old 0.7668213
4    A    new 2.5274712
5    B    new 2.2434525
6    D    new 2.0758326

我想在起源列中保留新旧组之间的不同基因。 我希望我的数据看起来像这样

  gene origin     value
3    C    old 0.7668213
6    D    new 2.0758326

【问题讨论】:

    标签: r dplyr tidyverse tidy


    【解决方案1】:

    按“基因”分组,查找filter中为1的不同“来源”的数量

    library(dplyr)
    df %>%
          group_by(gene) %>%
          filter(n_distinct(origin) == 1) %>%
          ungroup
    

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 2021-06-26
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      相关资源
      最近更新 更多