我怎样才能重写使用整洁计算的函数(通过rlang
的curly—curly)?
下面是一个基本的示例,我try 使用purrr::map()
来替换列名:
library("dplyr")
library("purrr")
myfunc <- function(by) {
mtcars %>% count({{ by }})
}
# passing unquoted arguments doesn't work
c(cyl, vs, am, gear) %>% map(~ myfunc(by = .x))
#> Error in eval(expr, envir, enclos): object 'cyl' not found
# passing quoted arguments also doesn't work
c("cyl", "vs", "am", "gear") %>% map(~ myfunc(by = .x))
#> Error in `map()`:
#> ℹ In index: 1.
#> Caused by error in `count()`:
#> ! Must group by variables found in `.data`.
#> ✖ Column `.x` is not found.
创建于2024—03—18,reprex v2.1.0
如何解决这个问题?