前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言】factoextra生成发表级PCA主成分分析图(一)

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

作者头像
生信交流平台
发布2022-09-21 18:39:21
8490
发布2022-09-21 18:39:21
举报

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

☞R做PCA主成分分析

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

代码语言:javascript
复制
#首先我们需要安装下面这两个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个属性。

代码语言:javascript
复制
head(iris)

进行主成分分析

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

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

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

代码语言:javascript
复制
#查看样本的主成分分析结果
var <- get_pca_var(iris.pca)

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档