如何检索特征值&;R?
在对一堆光栅进行PCA之后(在2014光栅包文档中),我想回顾一下我的特征值、特征向量和加载 对princomp的典型调用返回scree plot、变化比例、累积比例-summary()、print()、hist()-似乎没有从我的RasterBrick输出中提取信息。下面是示例代码:如何检索特征值&;R?,r,pca,r-raster,R,Pca,R Raster,在对一堆光栅进行PCA之后(在2014光栅包文档中),我想回顾一下我的特征值、特征向量和加载 对princomp的典型调用返回scree plot、变化比例、累积比例-summary()、print()、hist()-似乎没有从我的RasterBrick输出中提取信息。下面是示例代码: #bring in rasterBrick logo <- brick(system.file("external/rlogo.grd", package="raster")) #select rando
#bring in rasterBrick
logo <- brick(system.file("external/rlogo.grd", package="raster"))
#select random samples & do PCA
sr <- sampleRandom(logo, 100)
pca <- princomp(sr)
# to visualize pcs as rasters
x <- predict(logo, pca, index=1:3)
plot(x)
##ANSWERED QUESTION
summary(pca) # importance of components
plot (pca) # scree plot
loadings (pca) #eigens
#引入rasterBrick
logo特征向量/载荷存储在由princomp
返回的模型对象的loadings
元素中。有关princomp
(运行?princomp
)的信息,请参阅帮助的值部分。以下是关键部分:
值
princomp返回类为“princomp”的列表,其中包含以下内容
组成部分:
荷载可变荷载矩阵(即
列包含特征向量)。这属于“荷载”类:见
其打印方法的加载
您可以使用加载(pca)
访问加载。下面的第一个矩阵包含每个主分量的特征向量
loadings(pca)
Loadings:
Comp.1 Comp.2 Comp.3
red 0.588 -0.505 0.631
green 0.584 -0.274 -0.764
blue 0.559 0.818 0.134
Comp.1 Comp.2 Comp.3
SS loadings 1.000 1.000 1.000
Proportion Var 0.333 0.333 0.333
Cumulative Var 0.333 0.667 1.000
summary
功能可为您提供每台电脑解释的差异比例:
summary(pca)
Importance of components:
Comp.1 Comp.2 Comp.3
Standard deviation 136.9251939 16.85462507 1.4842831706
Proportion of Variance 0.9849601 0.01492417 0.0001157405
Cumulative Proportion 0.9849601 0.99988426 1.0000000000
使用任何R
对象都可以执行的另一项操作是运行str
,它将告诉您对象包含的内容。例如,请参见下面的princomp
模型对象包含的内容,并注意其中一个元素是loadings
str(pca)
List of 7
$ sdev : Named num [1:3] 136.5 17.63 1.43
..- attr(*, "names")= chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ loadings: loadings [1:3, 1:3] 0.587 0.583 0.562 -0.515 -0.267 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:3] "red" "green" "blue"
.. ..$ : chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ center : Named num [1:3] 162 165 173
..- attr(*, "names")= chr [1:3] "red" "green" "blue"
$ scale : Named num [1:3] 1 1 1
..- attr(*, "names")= chr [1:3] "red" "green" "blue"
$ n.obs : int 100
$ scores : num [1:100, 1:3] 85.4 110.4 151.3 149 22.8 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : NULL
.. ..$ : chr [1:3] "Comp.1" "Comp.2" "Comp.3"
$ call : language princomp(x = sr)
- attr(*, "class")= chr "princomp"
- attr(*, "class")= chr "princomp"
谢谢,虽然我在用一块粗糙的砖块运行pca,但很多这样的关系似乎正在破裂。例如,正常pca摘要调用返回标准偏差、方差比例、累积比例。但是,rasterbrick pca没有给我这个信息。。。然而这里是示例代码徽标的一个峰值,您所说的“…没有给我这个信息…”是什么意思?您是否遇到了错误,或者输出值与预期值完全不同?我运行了你的代码,它似乎工作。如果您更新了您的问题,添加了您运行的代码、代码的输出以及关于哪些内容不是您想要或期望的内容的描述,这将非常有用。希望更新后的问题能够澄清这一点。代码运行;但是,输出与pca的正常输出不一致。看来我只是在获取有关电脑光栅的信息。我可能误解了输出,但这就是为什么我要求更广泛的社区提供见解…请参阅我答案的更新。您是在光栅上还是在PCA模型对象上运行summary
?我一直在光栅对象“x”上运行summary
和print
,我现在看到的是不正确的。。。感谢与我一起完成这项工作,在R中分析光栅数据是一次学习经历!