与dplyr分组后如何计算新列

时间:2019-08-16 16:21:58

标签: r dplyr

在按“团队”为我的Shiny Dashboard分组后,我需要计算每次负载的收入。有人告诉我我的参数的“类型”(字符)无效

我尝试更改摘要函数的格式。它在控制台中不起作用,因此我删除了代码的Shiny部分。

 August <- data.frame("Revenue" = c(10,20,30,40), "Volume" = c(2,4,5,7), 
 "Team" = c("Blue","Green","Gold","Purple"))


  x <-   August %>% group_by(Team) %>% summarise(Revenue = sum(Revenue)) / 
 August %>% group_by(Team) %>% summarise(Volume = sum(volume)) %>%

“错误:参数的无效'类型'(字符)” 这会显示而不是条形图

1 个答案:

答案 0 :(得分:1)

总结RevenueVolume,然后取它们的比率。请注意,summarise从左到右进行处理,因此在Revenue语句中定义了Volumesummarise之后,RevByVol定义中的引用就指向它们这些新定义,而不是原始的未摘要版本。

August %>% 
  group_by(Team) %>% 
  summarise(Revenue = sum(Revenue), 
    Volume = sum(Volume), 
    RevByVol = Revenue / Volume) %>%
  ungroup 

给予:

# A tibble: 4 x 4
  Team   Revenue Volume RevByVol
  <fct>    <dbl>  <dbl>    <dbl>
1 Blue        10      2     5   
2 Gold        30      5     6   
3 Green       20      4     5   
4 Purple      40      7     5.71