假设您有一个要测量的值的代理。代理拥有的数据多于您的衡量标准。在这种情况下,您可能希望根据代理插入度量。例如,
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
计划是将第三次观察的已知代理用于&#34;补丁&#34;变量。
我们首先运行一个回归来理解我们如何使用我们的代理来进行sub.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
解决方案在答案文章后面。
答案 0 :(得分:1)
这是拼图解决方案
predict(r, newdata= df)
1 2 3 4 5 6 7 8 9 10
1.263598 -0.326269 1.330635 1.272603 0.415135 NA -0.929598 -0.295252 -0.006094 2.406221
将newdata参数用于预测函数。这可以方便地选择正确的变量名称。