dplyr 按多个变量分组 按多个变量汇总
dplyr group by multiple variables summarise by multiple variables
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))
我收到此错误:
Error in summarise_impl(.data, dots) : Evaluation error: no
applicable method for 'groups' applied to an object of class "factor".
我做错了什么?
谢谢
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))
我们可以使用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())
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))
我收到此错误:
Error in summarise_impl(.data, dots) : Evaluation error: no applicable method for 'groups' applied to an object of class "factor".
我做错了什么? 谢谢
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))
我们可以使用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())