我在尝试将dplyr与函数一起使用时遇到了奇怪的错误。我跟随" Programming with dplyr"指导,但我看到了奇怪的错误。这是我基于自己的程序的示例代码:
library(tidyverse)
df <- tibble(
g1 = c(1, 1, 2, 2, 2),
g2 = c(1, 2, 1, 2, 1),
a = sample(5),
b = sample(5)
)
my_summarise <- function(df, group_var) {
df %>%
group_by(!!group_var) %>%
summarise(a = mean(a))
}
my_summarise(df, quo(g1))
示例代码应该返回
#> # A tibble: 2 x 2
#> g1 a
#> <dbl> <dbl>
#> 1 1 2.500000
#> 2 2 3.333333
但是返回
Error: invalid argument type
Called from: mutate_impl(.data, dots)
有什么问题或我错过了一揽子计划吗?当我按照链接指南的后续说明操作时,我也会观察到此错误,并使用函数内的my_summarise(df, g1)
来调用enquo(group_var)
。
编辑:旧版本的dplyr发生错误。以上不会为dplyr 0.7.4抛出错误