【发布时间】:2021-11-18 11:50:59
【问题描述】:
如何使用以变量名作为输入的管道创建函数?我正在尝试使以下功能的更复杂版本可用。谢谢!
test <- function(var){
iris %>%
group_by(Species) %>%
summarise(mean(var, na.rm=TRUE))
}
【问题讨论】:
标签: r function dplyr pipe tidyverse
如何使用以变量名作为输入的管道创建函数?我正在尝试使以下功能的更复杂版本可用。谢谢!
test <- function(var){
iris %>%
group_by(Species) %>%
summarise(mean(var, na.rm=TRUE))
}
【问题讨论】:
标签: r function dplyr pipe tidyverse
您只需要使用运算符{{}},这里是reference 了解更多详情。
test<-function(var){
iris %>% group_by(Species) %>% summarise(mean({{var}}, na.rm=TRUE))
}
test(Sepal.Width)
# A tibble: 3 x 2
Species `mean(Sepal.Width, na.rm = TRUE)`
<fct> <dbl>
1 setosa 3.43
2 versicolor 2.77
3 virginica 2.97
【讨论】: