函数写入将列引用传递给group_by

时间:2015-09-16 18:06:24

标签: r function dplyr

我对R.很新。尝试定义一个对数据集进行分组的函数(group_by),然后根据分组(dplyr,summarise_each)创建汇总统计信息。

如果不定义函数,则以下工作:

sum_stat <- data %>%
  group_by(column) %>%
  summarise_each(funs(mean), var1:var20)

以下函数表单不起作用:

sum_stat <- function(data, column){
  data %>%
    group_by(column) %>%
    summarise_each(funs(mean), var1:var20)
}

sum_stat(data, column)

返回的错误消息是:

错误:未知列&#39;列&#39;

1 个答案:

答案 0 :(得分:2)

这是你通常的做法:

foo <- function(data,column){
  data %>%
    group_by_(.dots = column) %>%
    summarise_each(funs(mean))
}

foo(mtcars,"cyl")
foo(mtcars,"gear")