基于R中的代理对缺失值进行插值

基于R中的代理对缺失值进行插值,r,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

假设您有一个要度量的值的代理。代理包含的数据多于您的度量值。在这种情况下,您可能希望基于代理插入度量值。比如说,

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

答案见答题帖。

这是谜题的答案

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参数用于predict函数。这可以方便地选择正确的变量名

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 
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