我正在尝试构建一个使用dplyr
包中的管道的函数,但它不起作用。
有人可以帮我理解为什么我会收到错误消息吗?谢谢
udf_ctable <- function(x){
mtcars %>% group_by(x) %>% summarize(n=n())
}
udf_ctable(cyl)
Error in grouped_df_impl(data, unname(vars), drop) :
Column `x` is unknown
你需要!!
beore the x
,并调用"cyl"
:
udf_ctable <- function(x){
mtcars %>% group_by(!!x) %>% summarize(n=n())
}
udf_ctable("cyl")
在这里了解更多关于非标准评估的信息dplyr
。
或者,感谢@IceCreamToucan:
udf_ctable <- function(x){
x <- enquo(x) # quosure of x inside the function
mtcars %>% group_by(!!x) %>% summarize(n=n()) # !! lets dplyr evaluate x
}
udf_ctable(cyl)