作者:matt | 来源:互联网 | 2022-12-09 19:38
我想创建一个滞后向量,但挑战是重复一些观察.让我们考虑以下向量:
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> Roland..:
运行长度编码数据:
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