我想知道是否有可能使用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()函数,但是我只能使它对已用于预测实际模型对象的数据集起作用。

任何帮助,将不胜感激!

最佳答案

我写了一个函数(predict.out.plm),用plm估算初次差异或固定效应模型后,不再进行样本预测。

该功能发布在这里:

https://stackoverflow.com/a/44185441/2409896

关于r - 用R中的plm函数进行预测,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41260493/

10-12 17:52