【发布时间】:2020-05-22 11:03:55
【问题描述】:
我有点卡在这里,需要一些帮助。 我试图在时间序列中插入一些缺失的数据,但我的很多案例(国家)只有很少的观察结果,而且往往不一致。所以我试图在每个国家的第一次观察和最后一次观察之间进行插值。如果在我不想被插值的国家/地区的最后一次观察后留下一些 NA,我该怎么做?
library("tidyverse")
library("imputeTS")
data <- data.frame(country = c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3),
time = c(1990, 1991, 1992, 1993, 1990, 1991, 1992, 1990, 1991, 1992),
value = c(5, 6, 7, NA, 5, NA, 7, 5, 6, 7))
print(data)
data %>% group_by(country) %>%
mutate(int = na_interpolation(value))
我希望国家 1 中 1993 年的值保持为 NA。它可能很简单,但我无法理解它。
【问题讨论】:
-
您好,您想输入什么值。希望这会有所帮助。
data$value <- ifelse(is.na(data$value),1,data$value) -
我希望对第 2 组中的缺失值进行插值(在示例中为 6,就像插值函数一样),但第 1 组中的缺失值不是,因为它在最后一个值之后该组(在本例中为 7,在您的为 1)。