在R语言中使用plm函数进行预测

4
我想知道是否可以使用R中的plm包中的plm函数来预测新的预测变量数据集。我已经使用以下代码创建了一个模型对象:
model <- plm(formula, data, index, model = 'pooling')

现在我希望从一个新的数据集中预测一个因变量,这个数据集没有用于模型的估计。我可以通过使用模型对象中的系数来实现这一点,就像这样:

col_idx <- c(...)
df <- cbind(rep(1, nrow(df)), df[(1:ncol(df))[-col_idx]])
fitted_values <- as.matrix(df) %*% as.matrix(model_object$coefficients)

因此,我首先定义了模型中使用的索引列和由于共线性而删除的列的col_idx,随后构造了一个需要与模型中的系数相乘的数据矩阵。然而,手动删除列更容易出现错误。
设计一个函数可以使代码更易读。我也找到了pmodel.response()函数,但我只能将其用于被用于预测实际模型对象的数据集。
任何帮助都将不胜感激!

你需要什么帮助?这似乎是一个统计问题,而不是编码问题...你说的“我可以看到手动删除列时更容易出现错误”是什么意思? - llrs
查看 ?pmodel.response - m-dz
我检查了?pmodel.responde,但对于我的模型输出对象的类别,即“plm”和“panelmodel”,使用包含预测特征的数据框作为参数传递给“data”参数会返回模型训练数据集上的原始预测值。 - Michael
如果您想从汇总模型中进行预测,只需使用lm()估计您的模型,然后使用带有参数newdatapredict.lm()即可。 - Helix123
我认为这应该回答了问题:https://dev59.com/7r_pa4cB1Zd3GeqP-wQC#71904457 - Helix123
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接