创建具有重复条目的滞后向量

时间:2018-07-23 10:09:56

标签: r date vector lag

我想创建一个滞后向量,但是挑战在于重复了一些观察。让我们考虑以下向量:

date <- c("2016-04-11", "2016-04-11", "2016-04-11", "2015-05-11", "2015-05-11", "2014-05-11")

在相同的时间点(最后一个项目)观察到前三个元素,在同一时间观察到第四和第五个(最后倒数第二个项目),并在另一个时间观察到第六个(第一顺序,仅包括一项)。

滞后向量应如下所示:

date <- c("2015-05-11", "2015-05-11", "2015-05-11", "2014-05-11", "2014-05-11", NA)

是否有一种简便的方法来创建此滞后日期向量?

1 个答案:

答案 0 :(得分:6)

对数据进行游程编码:

date <- c("2016-04-11", "2016-04-11", "2016-04-11", "2015-05-11", "2015-05-11", "2014-05-11")
res <- rle(date)
res$values <- c(res$values[-1], NA)
res <- inverse.rle(res)
#[1] "2015-05-11" "2015-05-11" "2015-05-11" "2014-05-11" "2014-05-11" NA