r - 过滤依赖于两列的逻辑
问题描述
我正在努力编写正确的逻辑来仅根据一列中的条件过滤两列。我有多个 id,如果一个 id 出现在 2020 年,我希望该 id 被测量的其他年份的所有数据都出现。
例如,如果一个组包含数字 3,我想要该组中的所有值。我们最终应该得到一个包含所有 b 和 d 行的数据框。
df4 <- data.frame(group = c("a", "a", "a", "a", "a", "b", "b", "b", "b", "b",
"c", "c", "c", "c", "c", "d", "d", "d", "d", "d"),
pop = c(1, 2, 2, 4, 5, 1, 2, 3, 4, 5, 1, 2, 1, 4, 5, 1, 2, 3, 4, 5),
value = c(1,2,3,2.5,2,2,3,4,3.5,3,3,2,1,2,2.5,0.5,1.5,6,2,1.5))
threes <- df4 %>%
filter(pop == 3 |&ifelse????
解决方案
你可以做:
df4[df4$group %in% df4$group[df4$pop == 3],]
#> group pop value
#> 6 b 1 2.0
#> 7 b 2 3.0
#> 8 b 3 4.0
#> 9 b 4 3.5
#> 10 b 5 3.0
#> 16 d 1 0.5
#> 17 d 2 1.5
#> 18 d 3 6.0
#> 19 d 4 2.0
#> 20 d 5 1.5
推荐阅读
- mysql - 加入查询和表并出错?
- sql - 所有 DTM 值的每小时 SQL 计数
- api - 勇敢的浏览器支持 Google API HTTP Referrer 选项
- multidimensional-array - 试图强制数组中的条目成为数组
- google-colaboratory - ModuleNotFoundError:没有名为“tensorflow.contrib”的模块
- .net - 尝试在 Linux 上将 Mpir.NET 与 F# 一起使用
- forms - 在自定义扩展中使用 tx_form
- python - 我可以使用 django 从我的模型中的多个数据库中搜索吗?
- javascript - 为什么旋转大于 90 或小于 0 会使天空盒反转
- kubernetes - 如何将 nfs 信息移动到 kubernetes 补丁文件?