r - 为 R 中的整洁数据查找组间共有的变量
问题描述
我正在寻找基于整洁的数据集在 R 中跨组的常见案例。
我可以拆分数据集然后加入它们,或者使用 Reduce,但这似乎很费力,我确信必须有一种方法可以轻松地为整洁的数据执行此操作,可能使用dplyr
and group_by()
.
这是一个例子:
data <- data.frame(case = c('A', 'B', 'C', 'D', 'B', 'C', 'D', 'E'),
var = c(rep(1,4), rep(2, 4)))
case var
1 A 1
2 B 1
3 C 1
4 D 1
5 B 2
6 C 2
7 D 2
8 E 2
我想要的是跨变量常见的情况:'B', 'C', 'D'
. 我认为这应该很容易,但找不到答案。
解决方案
按案例分组,然后为那些出现正确次数的案例抓取第一行。
library(dplyr)
data %>%
group_by(case) %>%
slice(which(n_distinct(var) == n_distinct(.$var))[1])
推荐阅读
- java - Hadoop mapreduce 2 文件过滤?
- typescript - 使用多个定义的打字稿
- python - 如何使用 Python 提取具有多个表的 PDF
- state-machine - 如何在反应模型中恢复弹簧状态机
- log4j - 你可以加载第二个 log4j 配置文件来覆盖第一个吗?
- typescript - 你如何开玩笑地模拟 FileSystem.cacheDirectory?
- python - 在 sqlalchemy 中制作 Closure 表时出现 sqlalchemy.exc.NoForeignKeysError
- node.js - NuxtJS serverMiddleware 未按预期重定向
- python-3.x - 如何使用基于节点属性的 Networkx 生成随机大规模图
- ros - 在 ROS (Noetic) 和 Gazebo 上使用水下机器人模型