我正在尝试在包含NA
的数据上预测拟合值,这是基于plm
生成的模型。以下是一些示例代码:
require(plm)
test.data <- data.frame(id=c(1,1,2,2,3), time=c(1,2,1,2,1),
y=c(1,3,5,10,8), x=c(1, NA, 3,4,5))
model <- plm(y ~ x, data=test.data, index=c("id", "time"),
model="pooling", na.action=na.exclude)
yhat <- predict(model, test.data, na.action=na.pass)
test.data$yhat <- yhat
当我运行最后一行时,出现错误,提示替换有4行,而数据有5行。我不知道如何让预测返回长度为5的向量...
如果我运行
lm
(如下所示),而不是运行plm
,我将得到预期的结果。model <- lm(y ~ x, data=test.data, na.action=na.exclude)