【发布时间】:2020-09-01 10:57:37
【问题描述】:
示例数据:
set.seed(99999)
library(dplyr)
Group <- c(rep("A",4),rep("B",4),rep("C",4))
Value <- abs(rnorm(12))
df <- data.frame(Group,Value)
df$Group <- as.character(df$Group)
我想根据“值”列中的不同值过滤每个组,即 A、B、C。在 dplyr 中它看起来像这样:
df2 <- df %>%
filter(Group=="A" & Value>=0.2 |
Group=="B" & Value>=0.1 |
Group=="C" & Value>=0.6)
但是,我的真实 df 大于 100 个组,并且每个组都有一个唯一的阈值来过滤。因此我有一个单独的 df3,它只有每组的阈值:
df3 <- data.frame(Group=c("A","B","C"),Value=c(0.2,0.1,0.6))
如何使用 df3 中每个相应组的相应阈值过滤 df?
【问题讨论】: