简体   繁体   English

心理:主要 - 负荷组件

[英]psych: principal - loadings components

My question is concerned with the principal() function in psych package. 我的问题是关于心理包中的principal()函数。

set.seed(0)
x <- replicate(8, rnorm(10))
pca.x <- principal(x, nf=4, rotate="varimax")

I know if I want to see the loadings table, I can use loading.x <-loadings(pca.x) , than I will have the following results. 我知道如果我想查看加载表,我可以使用loading.x <-loadings(pca.x) ,而不是我将得到以下结果。

> loading.x
Loadings:
     RC1    RC3    RC4    RC2   
[1,]        -0.892 -0.205  0.123
[2,]  0.154  0.158  0.909       
[3,] -0.660  0.255 -0.249  0.392
[4,] -0.352  0.412  0.614 -0.481
[5,]  0.950 -0.208  0.117       
[6,] -0.302  0.111         0.860
[7,]  0.852        -0.195 -0.358
[8,] -0.109  0.903         0.265

                 RC1   RC3   RC4   RC2
SS loadings    2.323 1.934 1.373 1.342
Proportion Var 0.290 0.242 0.172 0.168
Cumulative Var 0.290 0.532 0.704 0.871

My first confusion is the loadings object. 我的第一个困惑是装载对象。 Technically, it is a matrix, but look at its dimension, it is 8 * 4, which means the lower part is not included. 从技术上讲,它是一个矩阵,但看它的尺寸,它是8 * 4,这意味着下部不包括在内。

Basically, what I want to achieve is to extract this part alone: 基本上,我想要实现的是单独提取这个部分:

                 RC1   RC3   RC4   RC2
SS loadings    2.323 1.934 1.373 1.342
Proportion Var 0.290 0.242 0.172 0.168
Cumulative Var 0.290 0.532 0.704 0.871

Either put it in a data.frame or a matrix, rather than looking at it in the console. 将它放在data.frame或矩阵中,而不是在控制台中查看它。 It seems that William Revelle's answer in the post Extracting output from principal function in psych package as a data frame . 似乎William Revelle的回答在后期从心理包中的主要功能提取输出作为数据框架 is able to extract this lower part alone, but the print function still gives me the whole thing. 能够单独提取这个下半部分,但print功能仍然给我整个事情。

In fact, I'm also curious how the developers are able to construct a loading object (I can't figure it out by look at source code). 事实上,我也很好奇开发人员如何构建一个加载对象(我无法通过查看源代码来解决它)。 Also, the part I need I can't find elsewhere in the 'pca.x' list, at least not a formatted table. 此外,我需要的部分我在'pca.x'列表中的其他地方找不到,至少不是格式化的表。 I am using Rstudio Version 0.98.1102, R 3.1.2, on a mac, and psych 1.5.1. 我在Mac上使用Rstudio版本0.98.1102,R 3.1.2,以及精神1.5.1。

Thank you in advance! 先感谢您!

This was partly answered, but since it is my package, I will give a somewhat more complete answer. 这部分回答了,但由于这是我的包裹,我会给出一个更完整的答案。

The summary table of the PCA or FA factor loadings tables is calculated in the print function. 在打印功能中计算PCA或FA因子加载表的汇总表。 It it is returned (invisibly by print). 它被退回(通过打印无形)。 However, it is available as the Vaccounted object. 但是,它可以作为Vaccounted对象使用。

ie summary table of the PCA or FA output 即PCA或FA输出的汇总表

set.seed(0)
x <- replicate(8, rnorm(10))
pca.x <- principal(x, nf=4, rotate="varimax")
p <- print(pca.x)

round(p$Vaccounted,2)   #shows the summary of the loadings table
                       PC1  PC3  PC4  PC2
SS loadings           2.32 1.93 1.37 1.34
Proportion Var        0.29 0.24 0.17 0.17
Cumulative Var        0.29 0.53 0.70 0.87
Proportion Explained  0.33 0.28 0.20 0.19
Cumulative Proportion 0.33 0.61 0.81 1.00

This works for the fa function as well. 这也适用于fa函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM