У меня есть панельные данные, и многие переменные отсутствуют в наблюдениях до определенных лет. Годы варьируются в зависимости от переменных. Каков эффективный способ экстраполяции отсутствующих точек данных по нескольким столбцам? Я думаю о чем-то столь же простом, как экстраполяция линейного тренда, но я надеюсь найти эффективный способ применить прогноз к нескольким столбцам. Ниже приведен пример набора данных с отсутствующими данными, похожими на то, с чем я имею дело. В этом примере я надеюсь заполнить значения NA в переменных «Национальный ВВП» и «Национальная продолжительность жизни», используя линейный тренд, рассчитанный с использованием наблюдаемых точек данных в каждом столбце.
###Simulate National GDP values
set.seed(42)
nat_gdp <- c(replicate(20L, {
foo <- rnorm(3, mean = 2000, sd = 300) + c(0,1000,2000)
c(NA,NA,foo)}))
###Simulate national life expectancy values
nat_life <- c(replicate(20L, {
foo <- rnorm(2, mean = 55, sd = 7.8) + c(0,1.5)
c(NA,NA,NA,foo)}))
###Construct the data.table
data.sim <- data.table( GovernorateID = c(rep(seq.int(11L,15L,by=1L), each = 20)),
DistrictID =rep(seq.int(1100,1500,by=100),each=20 ) + rep(seq_len(4), each = 5),
Year = seq.int(1990,1994,by=1L),
National_gdp = nat_gdp ,
National_life_exp = nat_life )
replicate
. Я отредактировал, чтобы показать более простой и эффективный подход - person mnel   schedule 25.03.2013L
. Если кто-то еще хочет знать, я нашел это полезное обсуждение SO: stackoverflow.com/questions/22191324/уточнение-л-ин-р - person Dr. Beeblebrox   schedule 18.03.2014