【发布时间】:2021-12-08 18:07:09
【问题描述】:
在我下面的foo() 调用中,有没有办法在函数内部识别filter_var =(即test)的输入?
目前无法识别输入。
library(tidyverse)
library(rlang)
foo <- function(..., filter_var = NULL){
filter_var <- rlang::ensyms(filter_var)
dat <- expand_grid(...)
dat %>%
filter(
{{filter_var}} != "A" ## HERE `filter_var` is not recognized.
)
}
foo(study = 1:2, test = LETTERS[1:2], filter_var = test)
# study test
# <int> <chr>
#1 1 A
#2 1 B
#3 2 A
#4 2 B
【问题讨论】:
标签: r function dplyr tidyverse rlang