R 创建包含多个对象和每个对象的多个观察值的摘要数据集

R 创建包含多个对象和每个对象的多个观察值的摘要数据集,r,R,我有一个来自当地商店的报告数据集,其中每一行都有客户ID、购买日期和每次购买的总价值。 我想创建一个新的绘图,其中对于每个客户ID,我都有上个月的所有购买,甚至只是在我选择的日期范围内的样本购买。 主要问题是,某些客户可能每月购买一次,而其他客户可能每天都会来,因此每个时段的观察次数可能会有所不同 我曾尝试将我的数据集分为一个特定的时间范围,但要么我选择一个特定的日期,然后我只得到所有客户的一小部分,要么我选择一个范围,并获得特定客户的多个观察结果。 (在这种情况下,我不介意得到最早的观察结果)

我有一个来自当地商店的报告数据集,其中每一行都有客户ID、购买日期和每次购买的总价值。 我想创建一个新的绘图,其中对于每个客户ID,我都有上个月的所有购买,甚至只是在我选择的日期范围内的样本购买。 主要问题是,某些客户可能每月购买一次,而其他客户可能每天都会来,因此每个时段的观察次数可能会有所不同

我曾尝试将我的数据集分为一个特定的时间范围,但要么我选择一个特定的日期,然后我只得到所有客户的一小部分,要么我选择一个范围,并获得特定客户的多个观察结果。 (在这种情况下,我不介意得到最早的观察结果)

一个重要的提示:我知道如何创建for循环来解决这个问题,但是由于数据集超过400万个观测值,因此不实用,因为它需要非常长的时间才能运行

数据集外观的一个基本示例:

   ID Date Sum
1   1    1 234
2   1    2  45
3   1    3   1
4   2    4 223
5   3    5 546
6   4    6  12
7   2    1  20
8   4    3  30
9   6    2   3
10  3    5  45
11  7    6 456
12  3    7  65
13  8    8 234
14  1    9  45
15  3    2   1
16  4    3 223
17  6    6 546
18  3    4  12
19  8    7  20
20  9    5  30
21 11    6   3
22 12    6  45
23 14    9 456
24 15   10  65
....
新的数据集看起来像这样:

ID 1Date 1Sum 2Date 2Sum 3Date 3Sum
1  1     234  2     45   3     1
2  1     20   4     223  NA    NA
3  2     1    5     546  5     45


谢谢你的帮助

如果得到
dplyr
tidyr

library(dplyr)
library(tidyr)
dd %>% group_by(ID) %>% mutate(seq=1:n()) %>% 
  pivot_wider("ID", names_from="seq", values_from = c("Date","Sum"))

其中,
dd
是上面的示例数据框。

那么这个示例输入的期望结果是什么?你到底在哪里被卡住了?请将所需的结果添加到问题本身,以便正确格式化,而不是添加到注释中。@MrFlick这更清楚吗?我非常感谢你的帮助