2020-12-29

PCA in R

概述

PCA——primary component analysis 主成分分析。

PCA主成分分析可视化有多种方法,包括,。其中fviz_pca{factoextra}函数是其中最常用的一种,该函数的可视化是基于ggplot2开发,且返回值为一个ggplot对象。

fviz_pca函数有三个主要分支:

fviz_pca_ind()  #对个体进行可视化

fviz_pca_var()  #对变量进行可视化

fviz_pca_biplot()  #同时对个体和变量进行可视化。

在平时数据探索与分析中,应用最多的为对个体PCA结果的可视化,所以下面的笔记只包含对fviz_pca_ind()的参数使用介绍。


数据准备

所有的可视化都是基于数据的,是对数据的可视化展示。fviz_pca_ind()函数便是对PCA分析结果的可视化展示。

这里的学习是以iris数据集作为例子的,首先对该数据集进行PCA分析,获得PCA结果数据。代码如下:

data(iris)

res.pca <- prcomp(iris[, -5],  scale = TRUE)

res.pca便是储存了iris数据集PCA分析结果的变量,以下分析基于该变量代表的数据。

可视化参数调整

基本图形

p1 <- fviz_pca_ind(res.pca,  repel = TRUE)   #上面的图

p2 <- fviz_pca_ind(res.pca, repel = FALSE)   #下面的图

### 以下两张图相当于最原始的可视化图了:横纵坐标,配色默认黑白,点和文字都显示。

另外,仔细观察两张图可以发现,下面的图文字对点是就近标注的,直接导致点与文字及文字与文字的大量重叠。而上面的图的作图函数通过设置参数 repel =T 完美的避免了。【repel =T 可以解决作图重叠的问题】是不是有点类似geo_jitter呢

点和文字的显示问题

其实多数情况下,尤其是样本量特别多的时候,是不会全部显示点的标注文字的,所以设置什么参数可以使文字不显示呢?答案是……geom = 。

还记得ggplot函数作图吗,geom_<function>就是指定几何对象类型的哦。而fviz_pca()函数又是基于ggplot2开发的哦。。。所以这里设置几何显示,通过geom参数设置也就很好理解了。

fviz_pca_ind(res.pca, geom = "point")      #只显示点


设置颜色

颜色的设置通常是按组来进行设置啦。思路:先通过参数habillage指定按组分配颜色,然后通过参数palette人工设置每个组的颜色。

p <- fviz_pca_ind(res.pca, geom = 'point', habillage=iris$Species,  palette = "Dark2" )


设置置信椭圆

颜色的设置通常是按组来进行设置啦。思路:先通过参数habillage指定按组分配颜色,然后通过参数palette人工设置每个组的颜色。addEllipses=TRUE, ellipse.level=0.95

fviz_pca_ind(res.pca, geom='point', habillage=iris$Species, addEllipses=TRUE, ellipse.level=0.95,    palette = "Dark2")


总结

绘图逻辑及绘图模板总结如下:

fviz_pca_ind(<PCA结果>, <设置显示点>, <指定分组并按组分配颜色>, <添加椭圆并设置置信水平>,<手动指定各组颜色>)

fviz_pca_ind(res.pca, geom='point', habillage=iris$Species, addEllipses=TRUE, ellipse.level=0.95,    palette = "Dark2")

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容