首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PCA做图最佳搭档-ggbiplot

PCA做图最佳搭档-ggbiplot

作者头像
黑妹的小屋
发布2020-08-06 14:43:58
发布2020-08-06 14:43:58
2.1K0
举报

> install.packages("devtools",repo="http://cran.us.r-project.org")

> library(devtools)

> install_github("vqv/ggbiplot")

> library(ggbiplot)

> data("wine")

> wine.pca <- prcomp(wine,scale. = TRUE)

> ggbiplot(wine.pca,obs.scale = 1,var.scale = 1,groups = wine.class,ellipse = TRUE,circle = TRUE)+scale_color_discrete(name="")+theme(legend.direction = 'horizontal',legend.position = 'top')

  • 坐标轴PC1/2的数值为总体差异的解释率;
  • 图中点代表样品,颜色代表分组,图例在顶部有三组;
  • 椭圆代表分组按默认68%的置信区间加的核心区域,便于观察组间是否分开;
  • 箭头代表原始变量,其中方向代表原始变量与主成分的相关性,长度代表原始数据对主成分的贡献度。

若不用ggbiplot画图,采用plot绘制,如下,怎么选择应该不用我多说了

> plot(wine.pca$x)

在空间上,PCA可以理解为把原始数据投射到一个新的坐标系统,第一主成分为第一坐标轴,它的含义代表了原始数据中多个变量经过某种变换得到的新变量的变化区间;第二成分为第二坐标轴,代表了原始数据中多个变量经过某种变换得到的第二个新变量的变化区间。这样我们把利用原始数据解释样品的差异转变为利用新变量解释样品的差异。为了最大限度保留对原始数据的解释,一般会用最大方差理论或最小损失理论,使得第一主成分有着最大的方差或变异数 (就是说其能尽量多的解释原始数据的差异);随后的每一个主成分都与前面的主成分正交,且有着仅次于前一主成分的最大方差 (正交简单的理解就是两个主成分空间夹角为90°,两者之间无线性关联,从而完成去冗余操作)

?ggbiplot的使用:

pcobj # prcomp()或princomp()返回结果 choices # 选择轴,默认1:2 scale # covariance biplot (scale = 1), form biplot (scale = 0). When scale = 1, the inner product between the variables approximates the covariance and the distance between the points approximates the Mahalanobis distance. obs.scale # 标准化观测值 var.scale # 标准化变异 pc.biplot # 兼容 biplot.princomp() groups # 组信息,并按组上色 ellipse # 添加组椭圆 ellipse.prob # 置信区间 labels # 向量名称 labels.size # 名称大小 alpha # 点透明度 (0 = TRUEransparent, 1 = opaque) circle # 绘制相关环(only applies when prcomp was called with scale = TRUE and when var.scale = 1) var.axes # 绘制变量线-菌相关 varname.size # 变量名大小 varname.adjust # 标签与箭头距离 >= 1 means farther from the arrow varname.abbrev # 标签是否缩写

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

本文分享自 菜鸟学数据分析之R语言 微信公众号,前往查看

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

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

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