【问题标题】:dplyr group by multiple variables summarise by multiple variablesdplyr group by multiple variables 按多个变量汇总
【发布时间】:2018-01-19 12:38:24
【问题描述】:

R 新手。 使用dplyr,尝试通过多个变量分组,通过多个变量、多个函数进行汇总。

这按预期工作

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) 中的错误:评估错误:否 应用于“因子”类对象的“组”的适用方法。

我做错了什么? 谢谢

【问题讨论】:

    标签: r dplyr rstudio tidyverse


    【解决方案1】:
    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))
    

    【讨论】:

      【解决方案2】:

      我们可以使用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())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-08
        • 2019-11-26
        • 1970-01-01
        • 2018-10-22
        • 2018-07-31
        • 2023-01-12
        • 1970-01-01
        相关资源
        最近更新 更多