r - 将列引用写入 group_by 的函数

标签 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)

返回的错误信息是:

错误:未知列“列”

最佳答案

这是您执行此操作的常用方法:

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

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

关于r - 将列引用写入 group_by 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615655/

相关文章:

r - for 循环和跨数据集子集的替代方法。 (..使用高阶函数或替代数据结构)

swift 。如何获取函数外变量的值

javascript - 具有适当参数的函数

r - 如何使用排列()首先显示 NA

r - Knitr:使用 scales 包在 ggplot 中获取计数

Rstudio 服务器找不到 R 安装的正确位置 (ubuntu)

r - nlme 重复测量错误

python - 在 Pandas 中滚动应用显示 "TypeError: only length-1 arrays can be converted to Python scalars"

r - 将 ddply 转换为 dplyr 和 tidyr 代码(变异、联合、传播)

r - 如何将值从一个数据帧传输到另一个数据帧?