如何使用相同的前一天值替换Var_1中的MasterMapper
eg.row 4缺少值 - 在前一天(第1行)的相同时间替换值/ NA。
同样,第7行包含第3行,第10行包含第9行,第13行包含第11行。我们可以使用NA
ZOO-na.lacf
答案 0 :(得分:1)
一种方法是使用format
来获取时间,然后将其拆分。使用na.locf
填充NA并将rbind
一起填回,即
library(zoo)
do.call(rbind, c(lapply(split(df, format(df$Date, format = '%H:%M')), function(i) {
i$Var <- na.locf(i$Var); i
}), make.row.names = FALSE))
给出,
ID Date Var Var_1 1 1 2014-01-21 00:15:00 22 22 2 4 2014-01-22 00:15:00 22 22 3 8 2014-01-23 00:15:00 23 23 4 2 2014-01-21 00:30:00 33 33 5 5 2014-01-22 00:30:00 22 22 6 6 2014-01-22 00:35:00 54 54 7 3 2014-01-21 00:45:00 13 13 8 7 2014-01-22 00:45:00 13 13 9 9 2104-01-25 01:00:00 34 34 10 10 2104-01-26 01:00:00 34 34 11 11 2104-01-27 02:00:00 2 2 12 13 2104-01-28 02:00:00 2 2 13 12 2104-01-27 03:00:00 21 21
然后您可以order
ID
如果您愿意df[with(df, order(ID)),]