如何在 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"))
我有一个对应商店购买记录的数据集,它是这样的:
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"))