我运行因子分析并生成5个因子。现在,我想在原始数据集中添加这些因子以运行回归,使用自变量保持这些因子。谁能告诉我怎么做怎么办?我用于因子分析的代码如下:
result.1<-subset(result,select=c(17:27))
fa.parallel(result.1)
View(result.1)
result.2<-factanal(result.1,factors=5,rotation="promax")
print(result.2)
print(result.2, digits = 2, cutoff = .2, sort = TRUE)
colnames(result.2$loadings)<-c("Fac_1","Fac_2","Fac_3","Fac_4","Fac_5")
print(loadings(result.2), digits = 2, cutoff = .2, sort = TRUE)
我尝试使用cbind
来获取新的变量因子列,但遗憾的是它不起作用。
result.fac<-cbind(result,result.2)
此致 ARI
答案 0 :(得分:5)
您必须将factalal和cbind
计算的分数保存到原始数据集中。 E.g:
data <- mtcars
f <- factanal(data, factors=5, rotation="promax", scores="regression")
data <- cbind(data, f$scores)
答案 1 :(得分:2)
您可能有一些缺失的数据导致因子得分矩阵中缺少行。 你需要匹配rownames,如下所示:
scores <- result.2$scores
result.fac <- cbind(result[as.integer(rownames(scores)),],scores)