假设我们有以下数据框:
df <- data.frame(x=1:10, odd=rep(c(T,F), 5))
还有一个存储odd
列名的变量:
odd_col <- 'odd'
如何在操作中使用odd_col
引用odd
列dplyr::filter
?
从我在dplyr中引用的文档中读到的内容,我认为以下是正确的方法:
library(dplyr)
odd_col <- enquo(odd_col)
# give the rows with odd entries
filter(df, !!odd_col)
但这会导致错误:
错误:参数 2 过滤条件不计算为逻辑向量
但是,这种方法似乎适用于其他dplyr操作,例如,
pull(df, !!odd_col)
# [1] TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE