我试图在本地函数中使用 dplyr 的 group_by ,例如:
testFunction <- function(df, x) {
df %>%
group_by(x) %>%
summarize(mean.Petal.Width = mean(Petal.Width))
}
testFunction(iris, Species)
我收到错误“...未知变量分组依据:x”
我尝试过 group_by_ ,它为我提供了整个数据集的摘要。
有人知道我该如何解决这个问题吗?
提前致谢!
这是使用新功能的一种方法enquo
from dplyr
, where enquo
获取字符串并转换为quosure
通过取消引用 (UQ
or !!
) in group_by
, mutate
, summarise
etc.
library(dplyr)
testFunction <- function(df, x) {
x <- enquo(x)
df %>%
group_by(!! x) %>%
summarize(mean.Petal.Width = mean(Petal.Width))
}
testFunction(iris, Species)
# A tibble: 3 x 2
# Species mean.Petal.Width
# <fctr> <dbl>
#1 setosa 0.246
#2 versicolor 1.326
#3 virginica 2.026
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)