我在为我的数据做一些PCA分析。这是我第一次尝试这种类型的分析。我有一个有一千列和几千行的矩阵,我试图通过去掉相关变量(在我的例子中是列)来创建一个更小的矩阵。直到现在一切都很顺利,但是我不能做下一步。下面是一个显示我的数据的示例。
a1 a2 a3 a4 .... a1000
item1 10 NA 5 3 ....
item2 0.01 0.5 NA 0.07 ....
item3 0.7 0.2 0.8 0.9 ....
.
.
.我应用princomp并得到以下结果
Comp.1 Comp.2 Comp.3 Comp.4 ... Comp.1000
Standard deviation 24.1605431 7.31176669 5.96709553 3.56507807 ...
Proportion of Variance 0.7580933 0.06943108 0.04624186 0.01650621 ...
Cumulative Proportion 0.7580933 0.82752438 0.87376624 0.89027245 ...
.
.
.现在我已经计算了everything...my,问题是:我应该使用什么命令来挑选不相关的组件并将它们粘贴到新的矩阵中(或者干脆去掉相关的组件)?如何指定我想要的相关性范围?
谢谢,
发布于 2012-12-12 18:51:21
我相信你是在找scores。在?princomp的帮助中,生成的对象是一个包含元素scores的列表
分数
如果得分= TRUE,则表示提供的主成分数据的得分。只有在提供了x的情况下,如果还提供了covmat,如果它是一个协方差列表,这些值才是非空的。对于公式方法,应用napredict()来处理na.action省略的值。
让我们设置一个示例(基于?princomp中的示例):
summary(pc.cr <- princomp(USArrests, cor = TRUE))
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4
Standard deviation 1.5748783 0.9948694 0.5971291 0.41644938
Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752
Cumulative Proportion 0.6200604 0.8675017 0.9566425 1.00000000您可以使用str()调查结果对象
str(pc.cr)
List of 7
$ sdev : Named num [1:4] 1.575 0.995 0.597 0.416
..- attr(*, "names")= chr [1:4] "Comp.1" "Comp.2" "Comp.3" "Comp.4"
$ loadings: loadings [1:4, 1:4] -0.536 -0.583 -0.278 -0.543 0.418 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:4] "Murder" "Assault" "UrbanPop" "Rape"
.. ..$ : chr [1:4] "Comp.1" "Comp.2" "Comp.3" "Comp.4"
$ center : Named num [1:4] 7.79 170.76 65.54 21.23
..- attr(*, "names")= chr [1:4] "Murder" "Assault" "UrbanPop" "Rape"
$ scale : Named num [1:4] 4.31 82.5 14.33 9.27
..- attr(*, "names")= chr [1:4] "Murder" "Assault" "UrbanPop" "Rape"
$ n.obs : int 50
$ scores : num [1:50, 1:4] -0.986 -1.95 -1.763 0.141 -2.524 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:50] "Alabama" "Alaska" "Arizona" "Arkansas" ...
.. ..$ : chr [1:4] "Comp.1" "Comp.2" "Comp.3" "Comp.4"
$ call : language princomp(x = USArrests, cor = TRUE)
- attr(*, "class")= chr "princomp"现在提取分数:
head(pc.cr$scores)
Comp.1 Comp.2 Comp.3 Comp.4
Alabama -0.9855659 1.1333924 -0.44426879 0.156267145
Alaska -1.9501378 1.0732133 2.04000333 -0.438583440
Arizona -1.7631635 -0.7459568 0.05478082 -0.834652924
Arkansas 0.1414203 1.1197968 0.11457369 -0.182810896
California -2.5239801 -1.5429340 0.59855680 -0.341996478
Colorado -1.5145629 -0.9875551 1.09500699 0.001464887https://stackoverflow.com/questions/13837873
复制相似问题