昨天的推文介绍了 画点和连线展示主成分分析结果的一个小例子,ggplot2画点和连线展示主成分分析的结果简单小例子 今天的推文介绍一下另外一种选择就是 画点和分组椭圆,就是实现下面这个图的过程
image.png
这个图来自链接 http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/112-pca-principal-component-analysis-essentials/
这个链接介绍的很详细了,大家可以自己去看一下
- 作主成分分析用到的是
FactoMineR
包中的PCA()
函数 - 作图用到的是
factoextra
包中的fviz_pca_ind()
函数
这两个包如果是第一次使用需要先安装,运行如下命令
代码语言:javascript复制install.packages("FactoMineR")
install.packages("factoextra")
安装好以后运行如下命令加载
代码语言:javascript复制library(FactoMineR)
library(factoextra)
示例数据直接用R语言的内置鸢尾花数据集
iris
第一步是主成分分析
代码语言:javascript复制iris.pca <- PCA(iris[,-5], graph = FALSE)
这样主成分分析的结果就直接存储到了iris.pca
里面了
画图展示结果
最基本的
代码语言:javascript复制fviz_pca_ind(iris.pca)
image.png
接下来通过增加参数来美化
- 仅仅展示点,去掉文字
fviz_pca_ind(iris.pca,
geom.ind = "point")
- 按照提前设置的分组填充颜色
fviz_pca_ind(iris.pca,
geom.ind = "point",
col.ind = iris$Species)
- 更改默认的配色
fviz_pca_ind(iris.pca,
geom.ind = "point",
col.ind = iris$Species,
palette = c("#00AFBB", "#E7B800", "#FC4E07"))
- 添加分组椭圆
fviz_pca_ind(iris.pca,
geom.ind = "point",
col.ind = iris$Species,
palette = c("#00AFBB", "#E7B800", "#FC4E07"),
addEllipses = TRUE)
- 更改图例的标题
fviz_pca_ind(iris.pca,
geom.ind = "point",
col.ind = iris$Species,
palette = c("#00AFBB", "#E7B800", "#FC4E07"),
addEllipses = TRUE,
legend.title="Group")
image.png
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
最近在B站看大一个日本童谣比赛银奖的小女孩,非常有意思,分享给大家