在“FactoMineR”包中旋转

dzjeubhm  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(110)

我已经使用了'FactoMineR'软件包中的'PCA'函数来获得主成分得分。我已经试着阅读了这个论坛上的package details和类似问题,但无法找到旋转提取的成分(正交或倾斜)的代码。
我知道'princomp'函数和'psych'包中的'principal'函数有旋转能力,但我真的很喜欢'PCA'中将变量缩放到单位方差的能力。任何帮助都将不胜感激。谢谢。

vwkv1x7d

vwkv1x7d1#

IIUC:

library(FactoMineR)
data(iris)
Iris <- iris[,1:4]
res <- PCA(Iris, graph=F)
#rotation
t(apply(res$var$coord, 1, function(x) {x/sqrt(res$eig[,1])}))
                  Dim.1      Dim.2      Dim.3      Dim.4
Sepal.Length  0.5210659 0.37741762 -0.7195664 -0.2612863
Sepal.Width  -0.2693474 0.92329566  0.2443818  0.1235096
Petal.Length  0.5804131 0.02449161  0.1421264  0.8014492
Petal.Width   0.5648565 0.06694199  0.6342727 -0.5235971

#check
prcomp(Iris, scale=T)
Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971

如果您希望从PCA对象获取载荷,请使用另一行代码:

sweep(res$var$coord, 2, sqrt(res$eig[,1]),'/')
hmtdttj4

hmtdttj42#

我在这里也有同样的需求。我想用FactominR做一个旋转,但是上面的答案只给了我原始的加载。
http://factominer.free.fr/question/FAQ.html扫描(分辨率pca $变量$坐标,2,sqrt(分辨率pca$eig[1:ncol(分辨率pca$变量$坐标),1]),功能="/”)

相关问题