我有一个“d”数据框,我想动态过滤。我想过滤“g”列来观察“C”。知道怎么让它起作用吗?
d =data.frame(g = c("C","A"))
library(dplyr)
groups= c("g")
filter=c("C","A")
i=1
d %>% dplyr::filter_(paste0( groups[i],"==",filter[i]))
答案 0 :(得分:0)
我们可以使用sym
转换为符号并使用!!
library(dplyr)
d %>%
filter(!! rlang::sym(groups) == filter[i])
# g
#1 C
如果我们传递表达式,那么使用quote
或quo
g1 <- quo(g == "C")
d %>%
filter(!! g1)
# g
#1 C