如何从 psych::principal 中检索/估算底层旋转矩阵 (rotmat)?

how can I retrieve / impute the underlying rotation matrix (rotmat) from psych::principal?

我在另一个函数中使用 psych::principal,将各种 rotate 函数传递给 principal。 (principal 提供 许多 旋转选项并将它们传递给不同的其他功能)。

我需要获取 旋转矩阵,无论使用哪个旋转过程,都找到并实现了它。

所有下游轮换程序都提供此功能,但它似乎未被 principal 编辑。

例如:

randomcor <- cor(matrix(data = rnorm(n = 100), nrow = 10))
library(psych)
principalres <- principal(r = randomcor, nfactors = 3, rotate = "none")
unrot.loa <- unclass(principalres$loadings)

principalrot <- principal(r = randomcor, nfactors = 3, rotate = "varimax") # there is no way to retrieve the rot.mat from principal

# but this CAN be done from the underlying varimax!
varimaxres <- varimax(x = unrot.loa)
varimaxres$rotmat # see, THIS is what I want!

我不愿意重新执行 principal 中的所有轮换程序。 (不要重复自己或其他人的说法)。

有没有人知道如何:

正如 William Revelle 所承诺的那样,从 1.5.8 开始,psych 也 returns 用于因子分析和主成分分析的旋转矩阵。

这样问题就解决了,继续上面的例子:

principalrot$rot.mat == varimaxres$rotmat  # it works!