我已经使用R中的factanal
函数对数据集进行了因子分析。
查看输出摘要时,我看到我可以访问加载和其他对象,但我对因子分析的得分感兴趣。
使用factanal
函数时如何获得分数?
我试着自己计算分数:
m <- t(as.matrix(factor$loadings))
n <- (as.matrix(dataset))
scores <- m%*%n
并得到错误:Error in m %*% n : non-conformable arrays
我不知道为什么,因为我仔细检查了数据的维度,维度是一致的。
谢谢大家的帮助。
2条答案
按热度按时间rdlzhqv91#
啊。
ozxc1zmp2#
这个问题可能有点过时,但尽管如此:
factanal
返回一个得分矩阵,你可以像调用加载一样简单地调用它:factor$scores
,不需要自己计算,但是需要在函数中指定要生成分数的函数,方法是使用“scores”参数。您的解决方案是将载荷乘以观测矩阵,这是错误的。根据FA模型,观测数据集应该是载荷和得分的乘积(加上唯一贡献,然后旋转)。这与您所写的不等同。我认为您将载荷视为从观测数据到得分的系数,而不是相反(从得分到观测)。
我发现this paper解释了提取分数的不同方法,可能会很有用。