dplyr group由多个变量按多个变量汇总

时间:2017-08-11 05:36:28

标签: r dplyr rstudio tidyverse

R的新手 使用dplyr,尝试group_by多个变量,由多个变量,多个函数汇总。

这可以按预期工作

mtcars %>% 
+     group_by(cyl,hp) %>% 
+     summarise(min_mpg = min(mpg) , min_disp = min(disp), max_mpg = max(mpg) , max_disp = max(disp))

但是当我尝试用我的df复制时

vmp %>% 
    +     group_by(Priority,LOS) %>% 
    +     summarise(inv_total = sum(Inv_Total), sr_count = count(SR_Nmbr))

我收到此错误:

  

summarise_impl(.data,dots)出错:评估错误:否   适用于'群组的方法'适用于类"因素"。

的对象

我做错了什么? THX

2 个答案:

答案 0 :(得分:0)

library(dplyr)
vmp %>%
     mutate(Inv_Total=as.numeric(as.character(Inv_Total))) %>% 
     group_by(Priority,LOS) %>%
     summarise(sr_count=n(), 
               inv_total=sum(Inv_Total))

答案 1 :(得分:0)

我们可以使用type.convert自动转换列类型

vmp %>%
    mutate_all(funs(type.convert(as.character(.), as.is = TRUE))) %>%
    group_by(Priority, LOS) %>%
    summarise(inv_total = sum(Inv_Total), sr_count =n())
相关问题