2
假设您有一个要测量的值的代理。代理的数据比您的度量更多。在这种情况下,您可能希望根据您的代理插入度量值。例如,根据R中的代理内插缺失值
set.seed(0) ## so we can share the example
tv <- round(rnorm(10),3)
df <- data.frame(kept=round(tv,1), proxy=tv)
df$kept[3] <- NA; df$proxy[6] <- NA
t(df)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
kept 1.300 -0.300 NA 1.300 0.400 -1.5 -0.900 -0.300 0.000 2.400
proxy 1.263 -0.326 1.33 1.272 0.415 NA -0.929 -0.295 -0.006 2.405
该计划是使用已知代理的第三个观察“修补”变量。
我们首先运行一个回归来理解我们如何使用我们的代理进行分析。na.action = na.exclude确保我们的残差和拟合变量的长度保持为10。
r <- lm(kept ~ proxy, na.action=na.exclude)
coef(r)
(Intercept) proxy
-0.00009099 1.00054561
解决方案并不明显,因为预测函数为缺少的X变量返回NA。
predict(r)
1 2 3 4 5 6 7 8 9 10
1.3338 -1.2663 NA 0.3859 -0.9228 NA -1.7789 0.9991 0.7733 0.2960
该解决方案在回答帖中显示。