r - 如何选择出现在多个组中的个体?

标签 r

这个问题在这里已经有了答案:





Select groups with more than one distinct value

(3 个回答)


2年前关闭。




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

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

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

我试过 group_by 和 filter 函数,但似乎都不起作用。
data <- data %>%
group_by(cow, herd) %>%
filter(n() > 1) %>%
ungroup()

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

最佳答案

怎么样:

library(dplyr)

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

关于r - 如何选择出现在多个组中的个体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57522069/

相关文章:

html - 使用 xpath 和 R,如何只提取字符串不一致的文本字符串的一部分?

r - 有什么办法延长图例中的界限吗?

r - 用 dplyr 和 rle 总结连续失败

r - 使用每组的最大值按组排序

mysql - 从 MySQL 执行 r 脚本

r - 在 R 中使用 data.table 取消嵌套多列

unit-testing - RUnit测试卸载包

r - 如何让 Rtools 3.0 为 R 3.0 工作? R找不到安装

r - 如何删除某些句子后面的文字?

正则表达式返回文件名,删除路径和文件扩展名