预测函数返回的值多于所需的值

时间:2014-06-14 16:09:33

标签: r statistics

我的数据集由三个变量中的60个观察值组成,x1x2是我的预测因子,y是我的回答。问题是y中的最后20个观测值丢失了所以我在前40个观测值上拟合了一个线性回归模型,我称之为fit,现在我一直试图使用{{1函数生成缺失值。

我使用的回归代码是

  

配合< -lm(Y1A〜X1A + X2A)

其中y1a,x1a和x2a指的是前40个观测值。

我用来填写剩余值的代码是:

predict

但现在问题是我为x <- data.frame(data$x1[41:60], data$x2[41:60]) predict(fit,x,interval="prediction",level=0.95) 而不是所需的20获得了40个新值,并附带警告消息:

  

'newdata'有20行,但找到的变量有40行

你能告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

发送到predict的数据框的列名必须与用于创建模型的数据框的列名匹配。如果您在上方显示x,则名称将不相同,predict将使用原始数据(您调用的框架data)。

试试这个

fit <- lm(y ~ ., data[1:40,])
predict(fit, data[41:60,])