【发布时间】:2021-07-04 11:39:42
【问题描述】:
Tidy eval now supports glue strings
所以这很好用:
my_summarise5 <- function(data, mean_var ) {
data %>%
mutate(
"mean_{{mean_var}}" := mean({{ mean_var }}),
)
}
mtcars %>% my_summarise5(cyl)
然后
my_summarise5 <- function(data, mean_var ) {
data %>%
mutate(
"mean_{{mean_var}}" := mean({{ mean_var }}),
"mean_{{mean_var}}_plusone" := "mean_{{mean_var}}"+1
)
}
mtcars %>% my_summarise5(cyl)
投掷
Error: Problem with `mutate()` input `mean_cyl_plusone`.
x non-numeric argument to binary
"mean_{{mean_var}}_plusone" := "mean_{{mean_var}}"+1 部分中的一些“粘贴”或“胶水”可以解决此问题吗?
请注意,这显然不是一个有用的案例,它是语法的 MWE。我实际上想定义两个具有不同名称的新列,一个使用另一个...否则我必须重复它也会变得混乱。
【问题讨论】:
标签: r function dplyr tidyeval quasiquotes