我有一个类似于以下内容的数据框:
library(data.table)
test <- data.table(data.frame("value" = c(5,NA,8,NA,NA,8,6,NA,NA,10),
"locf_N" = c(1,NA,1,NA,NA,1,2,NA,NA,2)) )
在这个数据框中,我有一个变量,指示我可以结转最后一次观察的时间(locf_N)。这并不是所有观察结果的固定数字。我尝试在 na.locf 函数中使用 maxgap 参数来实现此目的,但它实际上并不是我正在寻找的。
require(zoo)
test[,value := na.locf(value, na.rm = FALSE, maxgap = 1)]
test[,value := na.locf(value, na.rm = FALSE, maxgap = locf_N)]
是否有任何参数可以设置最后一次观察可以结转的次数?欢迎任何想法。
期望的输出:
output <- data.table(data.frame("value" = c(5,5,8,8,NA,8,6,6,6,10),
"locf_N" = c(1,NA,1,NA,NA,1,2,NA,NA,2)) )