首页 文章

将列名作为字符串传递给group_by并在dplyr中汇总

提问于
浏览
4

使用dplyr启动版本0.7时,不推荐使用以下划线结尾的方法(例如summarize_group_by_),因为我们应该使用quosures .

见:https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html

我试图使用quo和!!实现以下示例

工作范例:

df <- data.frame(x = c("a","a","a","b","b","b"), y=c(1,1,2,2,3,3), z = 1:6)

lFG <- df %>% 
   group_by( x,y) 
lFG %>% summarize( min(z))

但是,在这种情况下,我需要实现要分组的列,并将汇总指定为字符串 .

cols2group <- c("x","y")
col2summarize <- "z"

我怎样才能得到与上述相同的例子呢?

1 回答

  • 5

    为此,您现在可以使用 _at 版本的动词

    df %>%  
      group_by_at(cols2group) %>% 
      summarize_at(.vars = col2summarize, .funs = min)
    

相关问题