首页 > 解决方案 > 创建具有重复条目的滞后向量

问题描述

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

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)

有没有一种简单的方法来创建这个滞后的日期向量?

标签: rdatevectorlag

解决方案


游程编码数据:

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  

推荐阅读