【发布时间】:2018-05-25 16:15:22
【问题描述】:
我在 R 中使用 factanal 将 30 个变量数据集减少到 7 个因子,然后在 lm 模型中使用此过程输出的因子分数(来自 fa$scores)。到目前为止,如此简单......
但是,我使用的自变量与我的依赖变量相比滞后一个时期(因为该模型有望预测未来)。我现在有所有 30 个输入变量,我需要预测下一个周期依赖 var 的值,所以我的问题是这个。如何使用我已经完成的工作的事实输出来计算这 30 个新变量的 7 个因子得分?一旦有了这些,我就可以使用 lm 模型来预测下一个周期。
我在下面使用的代码示例(目标变量在 mydata 的第一列):
#extract factors
fitted_data <- factanal(mydata[,-1],7,rotation="varimax",lower=0.05,scores="regression")
#add factor scores back to main dataset
mydata <- cbind(mydata,fitted_data$scores)
'#inear regression model to predict my target_variable using factors I've extracted
mod1 <- lm(Target_Var ~ Factor1+ Factor2 + Factor3 + Factor4 + Factor5 + Factor6 + Factor7,data=mydata)
我在一个名为“new_data”的数据集中有最新的 30 个自变量,我只是想使用已经计算的因子载荷来计算 7 个因子得分,但我一生都无法弄清楚如何计算。 ....
非常感谢任何帮助。
【问题讨论】:
-
嘿,你能分享一些关于你的数据的东西吗?例如
dput(head(mydata))&dim(mydata)对复制很有用
标签: r