【问题标题】:Aggregating multiple events on the same date在同一日期聚合多个事件
【发布时间】:2016-04-12 15:25:58
【问题描述】:

我有如下所示的事件日志数据:

  id       date  order_value
   1 2015-01-01   19.42
   1 2015-01-22   21.23
   1 2015-07-14   54.16
   1 2015-08-13   36.28
   2 2015-01-01   13.55
   2 2015-03-15   16.77
   2 2015-03-15   21.31

请注意 id2 如何在同一日期有 2 个事件。我想总结这些,但我完全不知所措。

我尝试使用 dplyr,但我没有看到任何可以让我这样做的逻辑结构。我想我必须使用某种 if 语句,但我听说应该不惜一切代价避免这些。

【问题讨论】:

  • 任何 dplyr 教程都将涵盖聚合。 DF %>% group_by(id,date) %>% summarise(v = sum(order_value)) ....
  • 我正在阅读 ?help 函数,但没有意识到我可以使用 2 个分组变量。似乎奏效了。非常感谢!
  • 出于好奇,你想到了什么 if 语句?

标签: r dplyr


【解决方案1】:

dplyr 中,您可以使用group_bysummarize 来执行此任务:

library(dplyr);

df_grouped    <- group_by(df, id, date);
df_summarized <- summarize(df_grouped, order_value_per_date = sum(order_value));
df_summarized;

【讨论】:

    猜你喜欢
    • 2023-02-04
    • 1970-01-01
    • 2021-11-30
    • 2016-02-12
    • 2019-12-04
    • 2021-04-01
    • 1970-01-01
    • 2014-06-04
    • 2021-10-17
    相关资源
    最近更新 更多