R画月亮阴晴圆缺:corrplot绘图相关系数矩阵

今天是十五元宵节,即是和家人团聚的机会,也是赏月的好日子。

但作为科研汪的我,在狗年应更加努力,争取在狗年旺旺,从加班狗中脱颖而出。

分享一个相关分析可视化实战,祝大家元宵节快乐!

先给大家送一个我画的假蓝月亮,不管你看着像不像,反正我觉得像。

之前我们分享了关于相关分析的原理,还有ggcorrplot包的使用。

今天推出相关分析的第三讲,corrplot实战与绘图。

corrplot简介与安装

corrplot是一个绘制相关矩阵和置信区间的包,它也包含了一些矩阵排序的算法。

安装也非常简单,如果在Rstudio中,直接安装:

本节选学内容,让工作体验更美好!

如果使用rstudio的数据源下载太慢,可以使用国内清华镜像安装,反正我在科技网,或方正宽带下载都会快10倍以上。

此外还可以devtools工具从作者的github源安装,名称为,追求最新版本的朋友自行尝试,这里不再赘述。

简单的相关分析及绘图实例

我们加载包,使用计算内部数据汽车数据列间相关系数矩阵,再绘图。

简单三句话,美美哒相关分析结果是出来了。

实例精华讲解

我们现在对原始数据、分析结果和可视化参数进行解释。

我们看一下输入数据格式:使用head查看数据前6行预览:

本质上是一个行为样本名,列为属性的数值表格。其实我们大部分的数据都是这种格式的文件,只需要使用读入。

函数对数据按列进行两两相关性计算,默认使用方法,当然理论解读中提前的和方法也都支持。

比如我们选方法计算相关系数矩阵:

相关系数矩阵的特点:

相关系数矩阵数值范围是-1到1,分别 代表完全负相关或正相关;

对角线全为1,因为自身完全相同即100%s相关;

矩阵中上、下三角阵中数值沿对角线是对称。

corrplot命令解释

可视化时,默认的方法为直接可视化矩阵即可,如下:

默认:圆形颜色渐变效果展示相关系数

示例中order按hclust聚类方式排序,addrect是添加分组矩形,可自定义分组类,类似于平时热图的kmean分组方式。用于表现研究对象可分类的特点,方便继续分类讨论或研究

corrplot中参数详解

是不是有点多,功能实在太强大了,我们挑几个常用的说明。

corr: 用于绘图的矩阵,必须是正方形矩阵,如果是普通的矩阵,需要设置is.corr=FALSE

method: 可视化的方法,默认是圆circle,还有正方形square、椭圆ellipse、数字number、阴影shade、颜色color和饼pie可选。文章开篇处的示例即为饼形,类似月亮周期的大小变化。

type:展示类型,默认全显full,还有下三角lower,或上三角upper可选。

col:颜色设置,可设置颜色起、中、终点颜色。

is.corr:逻辑值,若为TRUE,不强制要求矩阵是正方形的相关系数矩阵,图例范围也会随数据变化

diag:是否显示对角线值。因为对角线全为1,显示只是美观,实际意义不大

tl.cex:名称标签字体大小

tl.col:名称标签字体颜色

cl.lim:值域范围

addrect:设置分组数量,添加矩形

官方教程

公众号只是信息传播和推荐的作用,让你知道什么东西可以干什么事。具体更深入的学习,作者的官方教程一般都是比较不错的教材,很少有人比作者更了解它的软件使用。

作者在CRAN上包主页的vignettes中提供了非常详细的图片教程,有几十种画法展示,简直像自选超市,大家需要哪种选哪种。

下面我只举几个粟子:

1. 画上三角矩阵

2. 图形和数值混合矩阵

文字看不清,可以设置文字为黑色和大小

3. 修改颜色

4. 图例标签控制

关闭图例和标签

还可以控制对角标签旋转45度

修改图例范围

5. 显著性标记

设置没通过统计的相关性结果打X

还可设置不显著的空白,或显示p值;更可以利用此方法显示所有p值,或用数量代表显示性

6. 画蓝色亮30天的变化

文章开篇的蓝月亮是如何画的呢?

原理:生成一个1-15和15-1的30个数且每行10个的矩阵,利用corrplot可视,方法为饼形,矩阵为非对称,去除标签和图例,设置图例范围

今天就到这里,更多教程,请阅读引文链接。

Reference

如何引用

Taiyun Wei and Viliam Simko (2017). R package “corrplot”:

Visualization of a Correlation Matrix (Version 0.84).

Available from https://github.com/taiyun/corrplot

官方教程 https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html

孙老师相关性矩阵可视化工具corrplot https://baijiahao.baidu.com/s?id=1576699211067823610&wfr=spider&for=pc

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180302G00DPR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券