r - 创建具有重复条目的滞后向量
问题描述
我想创建一个滞后向量,但挑战是重复一些观察。让我们考虑以下向量:
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
推荐阅读
- javascript - 无法在AngularJS中的数组内打印数组
- slurm - 如何在 slurm 中查看命令文件
- python - Python3 opencv 获取模板匹配的数量
- apache-spark - 命令行太长...从 spark 1.6.1 迁移到 2.3.0 时出错
- vba - 没有错误消息的 VBA 应用程序崩溃 - 单步执行程序时有效
- angular - 函数抛出错误 [ts] Angular4 中的“对象”类型上不存在属性“json”
- xcode9.3 - Xcode 9.3 上的 Crashlytics 集成不起作用?
- svn - svn 在同一分支上还原
- java - 使用java扫描仪打字时没有出现
- python - Python:如果打开名为“foobar”的文件,则引发异常