R psych package - 使用mat.sort()在PCA之后排序相关矩阵

时间:2014-03-05 18:16:26

标签: r sorting matrix principal psych

在主成分分析后,我试图将原始相关矩阵的变量按照与(已排序)加载矩阵相同的方式进行排序(与print.psych一起显示)。我已经使用了psych包中的以下函数,但我不能让两者对齐。

pc <- principal(myCorrMatrix$correlations, nfactors=15, n.obs=49, rotate="oblimin")
print.psych(pc, cut=0.3, sort=TRUE)

sortedPC <- fa.sort(pc)
sortedMatrix <- mat.sort(myCorrMatrix$correlations, sortedPC)

我不是100%确定mat.sort的第二个参数应该是什么,但我尝试了sortedPC的几个元素无济于事。任何指针都会非常感激!

1 个答案:

答案 0 :(得分:0)

不要将fa.sort()传递给mat.sort()mat.sort()期望一个fa对象,其中包含$ load。请注意,principal()还会在结果对象中提供$ loadings。我认为这应该有效:

sortedMatrix <- mat.sort(myCorrMatrix$correlations, pc)

以下是一个例子:

data(Bechtoldt.1)
sorted <- mat.sort(Bechtoldt.1,principal(Bechtoldt.1,5))
cor.plot(sorted)