【发布时间】:2019-05-21 16:05:01
【问题描述】:
我正在尝试查找 data.frame 中列的累积最大日期。我的数据看起来像:
df <- data.frame(id = c(1, 2, 3, 4, 5, 7, 8, 11, 3, 12),
date = sample(seq(as.Date("2015-01-01"), as.Date("2017-01-01"), by = "day"), 10))
# > df
id date
1 15 2015-11-22
2 2 2016-06-23
3 4 2015-03-21
4 6 2015-04-09
5 5 2015-05-20
6 1 2016-01-03
7 13 2015-01-01
8 14 2016-11-24
9 7 2016-12-23
10 9 2016-08-12
预期结果
我希望以这样的结尾:
# > df
id date
1 15 2015-11-22
2 2 2016-06-23
3 4 2016-06-23
4 6 2016-06-23
5 5 2016-06-23
6 1 2016-06-23
7 13 2016-06-23
8 14 2016-11-24
9 7 2016-12-23
10 9 2016-12-23
我已经用dplyr::cummax() 成功地找到了数值变量的累积最大值,但是这个函数不适用于Date 对象。是否有另一个函数(可能在基础 R 中)类似于 cumsum() 并且可以在日期上使用?
【问题讨论】: