如何在 R 中按月拆分数据

How to split data monthly in R

我有一个对应商店购买记录的数据集,它是这样的:

Date          BuyId      Price     Description    Category
2010-01-01    101028        100    ...            ...
2010-01-01    101028        100    ...            ...
2010-01-01    101028        100    ...            ...
2010-01-01    101028        100    ...            ...
...

数据框中的日期从 2010-01-10 到 2015-04-01,我想按月拆分,这样我就可以绘制每年每月的购买量,我的意思是:

Date        Count
2010-Jan    19128
2010-Feb    1232
...
...
2015-Mar    28363
2015-Apr    12834

我一直很难解决这个问题,因为我是 R 的新手,而且我不知道那么多函数。

我尝试使用 split 拆分数据,但我做不到。有谁知道我该怎么做?

您可以为此使用 dplyr

df %>%
  mutate(new.date = cut.Date(as.Date(Date, format = '%Y-%m-%d'), "month")) %>%
  group_by(new.date) %>%
  summarise(count = n())

mutate 将创建一个包含截断日期的新列,group_by 按月计算,summarise 将计算条目数。


另外,如果需要年份和缩写月份,就再加一个mutate:

 %>%
mutate(new.date = format(as.Date(new.date), "%Y-%b"))