我有面板数据,并且在某些年份之前,许多变量都缺少观察结果。年份因变量而异。什么是推断多列中缺失数据点的有效方法?我正在考虑一些简单的事情,例如从线性趋势推断,但我希望找到一种有效的方法将预测应用于多个列。下面是一个与我正在处理的缺失相似的示例数据集。在此示例中,我希望使用使用每列中观察到的数据点计算的线性趋势来填写“国民 GDP”和“国民预期寿命”变量中的 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 )