【问题标题】:How to select individuals which appear in multiple groups? [duplicate]如何选择出现在多个组中的个人? [复制]
【发布时间】:2019-08-16 09:22:59
【问题描述】:

我正在选择数据进行分析,并且需要选择出现在多个组(牛群)中的个体(奶牛)。因为我有多个测量值,所以个人在我的数据集中出现了多次。 我的数据看起来像:

data <- data.frame( 
cow = c("cow1", "cow1", "cow2", "cow2", "cow3"), #character variable
herd = c(1, 2, 1, 1, 1)) # factor variable

所以我想过滤奶牛1,因为它出现在herd1 和herd2 中。因此,在数据集中只出现一次或只出现在一个牛群中的奶牛应该被删除。

我已经尝试过 group_by 和 filter 功能,但似乎都不起作用。

data <- data %>%
group_by(cow, herd) %>%
filter(n() > 1) %>%
ungroup()

但是,这并没有给出所需的结果。我现在有点迷茫,所以我希望有人能帮我解决这个问题。

【问题讨论】:

    标签: r


    【解决方案1】:

    怎么样:

    library(dplyr)
    
    data %>%
      group_by(cow) %>%
      filter(n_distinct(herd) > 1)
    

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2015-01-24
      • 2020-02-17
      相关资源
      最近更新 更多