【R语言】factoextra生成发表级PCA主成分分析图(一)

前面给大家介绍过主成分分析

☞R做PCA主成分分析

今天我们来给大家介绍另一个做PCA分析并绘图的R包factoextra,很多SCI文章中都用到了这个R包。换句话说这个R包画出来的PCA图是发表级的。

#首先我们需要安装下面这两个R包
install.packages("factoextra")
install.packages("FactoMineR")

#加载这两个R包
library(FactoMineR)
library(factoextra)

接下来我们查看一下要使用的数据,我们会用R里面自带的一套数据集iris。Iris也称鸢尾花卉数据集,包含150个数据样本,分为3类(Setosa,Versicolour,Virginica),每类50个数据,每个数据包含4个属性,花萼长度,花萼宽度,花瓣长度,花瓣宽度(Sepal.Length,Sepal.Width,Petal.Length,Petal.Width)4个属性。

head(iris)

进行主成分分析

#做PCA分析,第五列为物种,非数值属性需要去除
iris.pca <- PCA(iris[,-5], graph = T)

#绘制主成分碎石图,查看每一个主成分能在多大程度上代表原来的特征
#第一个主成分就可以保留原来特征73%的信息
fviz_screeplot(iris.pca, addlabels = TRUE, ylim = c(0, 80))

接下来我们可以查看样本的主成分分析结果

#查看样本的主成分分析结果
var <- get_pca_var(iris.pca)

#原始特征在新的坐标空间(PC1,PC2...)中的坐标位置
var$coord
#查看每一个特征对每一个主成分的贡献程度
var$contrib

接下来查看样本在新空间中的分布

fviz_pca_ind(iris.pca,
             mean.point=F,#去除分组的中心点,否则每个群中间会有一个比较大的点
             label = "none", #隐藏每一个样本的标签
             habillage = iris$Species, #根据样本类型来着色
             palette = c("#00AFBB", "#E7B800", "#FC4E07")#三个组设置三种颜色
)

为每一个样本类群添加椭圆边界线

#为每一个样本类群添加椭圆边界线
fviz_pca_ind(iris.pca,
             mean.point=F,#去除分组的中心点
             label = "none", #隐藏每一个样本的标签
             habillage = iris$Species, #根据样本类型来着色
             palette = c("#00AFBB", "#E7B800", "#FC4E07"),#三个组设置三种颜色
             addEllipses = TRUE #添加边界线,默认为椭圆
)

为每一个样本类群添加多边形边界线

#为每一个样本类群添加多边形边界线
fviz_pca_ind(iris.pca,
             mean.point=F,#去除分组的中心点
             label = "none", #隐藏每一个样本的标签
             habillage = iris$Species, #根据样本类型来着色
             palette = c("#00AFBB", "#E7B800", "#FC4E07"),#三个组设置三种颜色
             addEllipses = TRUE, #添加边界线
             ellipse.type = "convex" #设置边界线为多边形
)

今天的分享就先到这里,后面我们会继续为大家介绍如何使用factoextra包来展示变量,以及如何在一张图上同时展示样本和变量。

【R语言】factoextra生成发表级PCA主成分分析图(一)

你可能感兴趣的:(【R语言】factoextra生成发表级PCA主成分分析图(一))