用dplyr编程;quo,enquo!!,等

用dplyr编程;quo,enquo!!,等,r,dplyr,R,Dplyr,在尝试将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 %>%

在尝试将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))
我是不是有什么地方不对劲,或者我丢了一个包裹?当我按照链接指南的后续说明,在函数内部使用
enquo(group\u var)
调用
my\u summary(df,g1)
时,我也观察到了这个错误


编辑:dplyr的旧版本出现错误。上面没有为dplyr 0.7.4抛出错误

您可以检查您的dplyr版本,因为它适用于我的
dplyr\u 0.7.4
啊,是的,谢谢!我运行的是0.5.0版本问题
#> # 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)