我想知道是否可以使用R中的plm包中的plm函数来预测新的预测变量数据集。我已经使用以下代码创建了一个模型对象:
因此,我首先定义了模型中使用的索引列和由于共线性而删除的列的col_idx,随后构造了一个需要与模型中的系数相乘的数据矩阵。然而,手动删除列更容易出现错误。
设计一个函数可以使代码更易读。我也找到了pmodel.response()函数,但我只能将其用于被用于预测实际模型对象的数据集。
任何帮助都将不胜感激!
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()函数,但我只能将其用于被用于预测实际模型对象的数据集。
任何帮助都将不胜感激!
?pmodel.response
。 - m-dz?pmodel.responde
,但对于我的模型输出对象的类别,即“plm”和“panelmodel”,使用包含预测特征的数据框作为参数传递给“data”参数会返回模型训练数据集上的原始预测值。 - Michaellm()
估计您的模型,然后使用带有参数newdata
的predict.lm()
即可。 - Helix123