是否有一种方法,优先选择 dplyr 或 data.table,用于在组内的一行中满足指定的行条件时将目标值向下扩展 R 数据帧范围?我依稀记得 data.table 中的一个 rleid
函数可以解决问题,但我在实施时遇到了麻烦。在我下面的示例中,作为新列或覆盖现有列“状态”。
例如,如果我们从下面的示例数据框开始,我想在组中第一次出现该目标值 1 之后,将每行中的目标值 1 发送到每个 ID 分组的末尾,并且如下图更好地解释:
myDF <- data.frame(
ID = c(1,1,1,1,2,2,2,3,3,3),
State = c(NA,NA,1,NA,1,NA,NA,NA,NA,NA))