【问题标题】:How to split data monthly in R如何在R中每月拆分数据
【发布时间】:2015-08-12 13:14:18
【问题描述】:

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

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 年 1 月 10 日到 2015 年 4 月 1 日,我想每月对其进行拆分,以便绘制每年每月的购买量,我的意思是:

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

我一直很难处理这个问题,因为我对 R 还很陌生,而且我不知道这么多函数。

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

【问题讨论】:

  • 试试split(yourdata$Value, format(yourdata$Date, '%Y-%b')) 如果这样做总结,可以使用aggregatedplyrdata.table方法
  • 除了format.Date,还有cut.Date,它提供了更多的工具来按不同的时间间隔聚合日期信息。见?cut.Date

标签: r split dataset


【解决方案1】:

您可以为此使用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"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 2015-08-28
    • 1970-01-01
    • 2021-06-19
    • 2017-02-07
    相关资源
    最近更新 更多