如何对数据框进行分组,然后汇总每个组的总数,然后除以该组中的项目数?

时间:2018-11-16 17:41:54

标签: r rstudio

我使用Group_by函数按prod_cnt给我总计金额。但是现在我想按prod_cnt组获取每个prod_cnt的平均金额(平均值/ prod_cnt)。当我尝试除以count = n()时,它仅返回(+)号。我该如何使用它?

Screenshot

1 个答案:

答案 0 :(得分:0)

  1. 不要嵌套对summarize的调用,只包括单个调用和多个以逗号分隔的命名参数。
  2. 使用n()代替count=n()

未经测试的代码:

library(dplyr)
HW_data_File %>%
  group_by(prod_cat) %>%
  summarize(
    Total_Sale = sum(amount),
    count = n(),
    Per_amount = sum(amount) / n()
  )

为了不重新计算事物(可能不是一个因素,而只是为了教学),您可以执行以下操作:

HW_data_File %>%
  group_by(prod_cat) %>%
  summarize(
    Total_Sale = sum(amount),
    count = n()
  ) %>%
  mutate(
    Per_amount = Total_Sale / count
  )