【问题标题】:Aggregation in R to calculate percentage of total by group?R中的聚合以按组计算总数的百分比?
【发布时间】:2017-01-03 00:34:49
【问题描述】:
DDD <- summarise(
  group_by(Customers, Last_region, Last_state, Last_city),     
  Count = length(Last_city),
  Total = sum(Customer.Value, na.rm = TRUE),
  Percent = sum(Customer.Value * 100 / sum(Customer.Value, na.rm = TRUE)))       

我已经尝试过这段代码。我得到了总和计数的分组,但不是百分比?

【问题讨论】:

  • @akrun 你是不是故意覆盖了代码?
  • @RobinGertenbach 对不起,我没听明白。我为什么要故意这样做?除了格式化代码之外,我什么也没做。您可以查看编辑历史记录
  • @akrun 您从链接的帖子中复制了代码,检查了代码的修订历史记录非常不同。
  • @RobinGertenbach 我对您的回复的评论不知何故被删除了。是的,当我格式化时,我复制了错误的。对此感到抱歉。我不确定谁在删除真正的回复。似乎有人想表明我是故意这样做的。

标签: r dplyr summarize


【解决方案1】:

我们需要改成Customers$Customer.Value,同时为了更好的理解,使用%&gt;%而不是使用嵌套函数。

Customers %>%    
   group_by(Last_region, Last_state, Last_city) %>%     
   summarise(Count = length(Last_city),
             Total = sum(Customer.Value, na.rm = TRUE),
             Percent = sum(Customer.Value * 100 / 
                          sum(Customers$Customer.Value, na.rm = TRUE)))       

由于 OP 没有显示任何可重现的示例,我们也对 sum(Customer.Value*100 中的右括号有疑问

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2022-01-21
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多