创建具有重复条目的滞后向量
Create a lag vector with repeated entries
我想创建一个滞后向量,但挑战是重复一些观察。让我们考虑以下向量:
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)
有没有简单的方法来创建这个滞后日期向量?
运行-长度编码数据:
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
我想创建一个滞后向量,但挑战是重复一些观察。让我们考虑以下向量:
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)
有没有简单的方法来创建这个滞后日期向量?
运行-长度编码数据:
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