R语言中的PCA分析函数
R语言常用PCA分析函数有prcomp与princomp, 二者主要是计算方法的差别,建议采用prcomp(SVD方法)
prcomp函数
prcomp函数使用较为简单,但是不同于常规的求取特征值和特征向量的方法,prcomp函数是对变量矩阵采用SVD方法计算其奇异值(原理上是特征值的平方根),函数帮助中描述为函数结果中的sdev。
prcomp函数输入参数为变量矩阵(x),中心化(center,默认为true),标准化(scale,默认为false,建议改为true),主成份个数(rank)。
promp函数输出有sdev(各主成份的奇异值及其方差累积),rotation(载荷矩阵),x(得分矩阵),center(变量的均值),scale(变量的标准偏差)
princomp函数
princomp以计算相关矩阵或者协方差矩阵的特征值为主要手段。
princomp函数输出有主成份的sd,loading,score,center,scale.
##代码实例
data(wine) #三种葡萄酿造的红酒品质分析数据集
wine.pca<-prcomp(wine,scale=T)
summary(wine.pca) #各主成份的SVD值以及相对方差
wine.pca$rotation #loading
wine.pca$x #score
screenplot(wine.pca) #方差分布图
biplot(wine.pca,scale=F) #碎石图,直接把x与rotation绘图,而不标准化
ggbiplot
library(ggbiplot)
ggbiplot(wine.pca,scale=1, groups = wine.class,
ellipse = TRUE,ellipse.prob=0.5, circle = F,var.axes=F) +
scale_color_discrete(name = '') +
theme(legend.direction = 'horizontal', legend.position = 'top')
|
请发表评论