Я работаю с моделью регрессии с фиксированными эффектами, используя plm.
Модель выглядит так:
FE.model <-plm(fml, data = data.reg2,
index=c('Site.ID','date.hour'), # cross section ID and time series ID
model='within', #coefficients are fixed
effect='individual')
summary(FE.model)
«fml» — это формула, которую я определил ранее. У меня много независимых переменных, так что это сделало его более эффективным.
Что я хочу сделать, так это получить мои подогнанные значения (мои yhats) и присоединить их к моему базовому набору данных; данные.reg2
Я смог получить подходящие значения, используя этот код:
Fe.model.fitted <- FE.model$model[[1]] - FE.model$residuals
Однако это дает мне только один вектор-столбец с подобранными значениями - у меня нет возможности присоединить его к моему базовому набору данных.
В качестве альтернативы я пробовал что-то вроде этого:
Fe.model.fitted <- cbind(data.reg2, resid=resid(FE.model), fitted=fitted(FE.model))
Однако я получаю эту ошибку с этим:
Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ""pseries"" to a data.frame
Есть ли другие способы получить подходящие значения в моем базовом наборе данных? Или может кто-нибудь объяснить ошибку, которую я получаю, и, возможно, способ ее исправить?
Я должен отметить, что я не хочу вручную вычислять yhats на основе моих бета-версий. У меня слишком много независимых переменных для этой опции, и моя определенная формула (fml) может измениться, так что эта опция будет неэффективной.
Большое спасибо!!