我正在尝试按照Tabachnick和Fidell的“使用多变量统计”中的因子分析章节进行操作。
数据和我的步骤如下:
# data
dat.ski <- data.frame(skiers = paste0("S", c(1:5), sep=""), cost = c(32, 61, 59, 36, 62), lift=c(64, 37, 40, 62, 46) , depth = c(65, 62, 45, 34, 43), powder = c(67, 65, 43, 35, 40))
# correlation matrix
cor.ski <- cor(dplyr::select(dat.ski, -skiers))
# eigenvalues and eigenvectors
eig.ski <- eigen(cor.ski)
相关矩阵和特征值(2.02,1.94,0.04和0.00)对应于书中的相关矩阵和特征值。我拥有的前两个特征向量是(.352,-0.251,-0.626,-0.647)和(.514,-.664,.322,.280)。
然而,本书继续说只保留前两个特征值并重新运行“因子分析”,这导致以下两个特征值*:2.00,1.91和特征向量(-2,83,0.177) ,0.568,0.675)和(0.651,-0.685,0.252,0.207)。我无法重现这些特征向量...如果我运行psych::fa(cor.ski, nfactors=2, fm="pa")
,则SS加载对应于新的特征值*。
任何有关如何按照文本返回特征向量的帮助将不胜感激。
感谢。
答案 0 :(得分:0)
我通过记住R是一种可见的语言来解决这个问题!通过查看psych::fac
的定义,我看到作者实际上已经执行了7次迭代的因子分析,而不是mereley&#34;取得前两个特征向量并重新运行FA&#34 ;;我还最终了解了如何执行因子分析,并将其与后续文本联系起来,简而言之就是:
从相关矩阵(r)开始并假设使用k因子