如何在满足行条件时向下扩展 r 数据框的值?

问题描述 投票:0回答:0

是否有一种方法,优先选择 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))

r dplyr data.table subset
© www.soinside.com 2019 - 2024. All rights reserved.