我的问题与 psych 包中的 principal() 函数有关。
set.seed(0)
x <- replicate(8, rnorm(10))
pca.x <- principal(x, nf=4, rotate="varimax")
我知道如果我想查看负载表,我可以使用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
我的第一个困惑是加载对象。从技术上讲,它是一个矩阵,但看它的维度,它是 8 * 4,这意味着不包括下部。
基本上,我想要实现的是单独提取这部分:
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
要么把它放在一个 data.frame 或一个矩阵中,而不是在控制台中查看它。似乎威廉·雷维尔(William Revelle)在从心理包中的主要功能中提取输出作为数据框的帖子中的回答。能够单独提取这个下部,但该print
功能仍然给了我整个事情。
其实我也很好奇开发者是如何构造一个加载对象的(看源码我也搞不明白)。另外,我需要的部分在“pca.x”列表的其他地方找不到,至少不是格式化表格。我在 Mac 上使用 Rstudio 版本 0.98.1102、R 3.1.2 和 psych 1.5.1。
先感谢您!