函数写通过列参考group_by [英] Function writing passing column reference to group_by

查看:110
本文介绍了函数写通过列参考group_by的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



没有定义一个函数,以下工作:

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

以下函数表单不起作用:

  sum_stat<  -  function数据,列){
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)


I'm very new to R. Trying to define a function that groups a data set (group_by) and then creates summary statistics based on the groupings (dplyr, summarise_each).

Without defining a function the following works:

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

The following function form does not work:

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

sum_stat(data, column)

The error message returned is:

Error: unknown column 'column'

解决方案

This is the usual way you'd do this:

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

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

这篇关于函数写通过列参考group_by的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆