【发布时间】:2021-05-26 05:43:37
【问题描述】:
我有一个数据集,其中有一列引用日期。日期以季度方式书写(即以每 3 个月为 1 个单位)。 一栏表示该日期实际上是按季度还是按月计算的。我只想处理季度类型。
我想将每个季度行扩展到 3 个月行。另一列称为“收益”也会受到影响,应除以“3”(即一个季度的月数)。
例子:
example <- data.frame(quarterly_reports = as.Date(as.character(c(20200331,20200630, 20200930,20201231, 20210131)), "%Y%m%d"),
type = c("q","q","q","q","m"),
gains = c(18000, 30000, 45000, 60000, 10000))
看起来是这样的:
quarterly_reports type gains
1 2020-03-31 q 18000
2 2020-06-30 q 30000
3 2020-09-30 q 45000
4 2020-12-31 q 60000
5 2021-01-31 m 10000
我想要的是与此类似的输出(并注意我如何将增益列除以 3):
quarterly_reports type gains
1 2020-01-31 m 6000
2 2020-02-28 m 6000
3 2020-03-31 m 6000
4 2020-04-30 m 10000
5 2020-05-31 m 10000
6 2020-06-30 m 10000
7 2020-07-31 m 15000
8 2020-08-31 m 15000
9 2020-09-30 m 15000
10 2020-10-31 m 20000
11 2020-11-30 m 20000
12 2020-12-31 m 20000
13 2021-01-31 m 10000
注意:我正在使用data.table,并且我正在尝试使用lubridate 将日期从季度转换为月度。我有大约 300 万行这样的行,所以我正在寻找一些又快又脏的东西。
感谢任何回复。
【问题讨论】:
标签: r date data.table reshape lubridate