Мы можем использовать sym
, чтобы преобразовать его в символ, а затем выполнить оценку (!!
)
library(tidyverse)
dt %>%
filter( !! rlang::sym(myColList[1]) == "entry")
или используйте filter_at
, который может принимать строку в качестве входной переменной
dt %>%
filter_at(vars(myColList[1]), all_vars(.== 'entry'))
В качестве воспроизводимого примера
myColList <- names(iris)[1:3]
data(iris)
iris %>%
filter(!! rlang::sym(myColList[1]) > 5)
iris %>%
filter_at(vars(myColList[1]), all_vars(. > 5))