企业新闻

坚持“以先进的科学技术,创一流产品质量;以诚信周到的服务,满足顾客的要求

10行代码让你的相关性图貌美如花

说到相关分析,我们都知道是用来观察变量之间相关性的一种分析方法,而得出的结果很难用表格形象展示,这个时候我们的相关性图形就派上了用场,那么接下来为大家介绍R语言情景下用mtcars数据集和corrplot包绘制相关性图形的方法:

 

mtcars数据展示

 

mtcars数据说明:数据的第一列为各种汽车型号,后续数据为汽车的多个性能参数。

 

 

在相关性计算函数cor()中有三种算法来计算相关性,其中:

Pearson相关系数:适用于连续型变量,且变量服从正态分布的情况,为参数性的相关系数。

Spearman等级相关系数:适用于连续型及分类型变量,为非参数性的相关系数。

Kendall秩相关系数:适用于定序变量或不满足正态分布假设的等间隔数据。

 

小鹿本次采用pearson算法来计算相关系数

corr<-cor(mtcars,method="pearson") 

 

相关性范围为[-1,+1],绝对值越大,表示相关性越强;相关系数的正负体现相关的方向,负值代表两变量呈负相关,正值代表变量间正相关。

 

相关性展示

 

参数的相关性结果有了,接下来就是用图形展示相关性的时候了:

 

首先是包的安装和载入:

 

install.packages("corrplot")

library("corrplot")

 

绘制相关性图:

 

corrplot(corr)

 

可以看到图形沿左上到右下的位置对称,各变量自身相关性为1,但相关系数并没有直接展示,接下来需要对上图做调整。

 

图像调整:

 

corrplot(corr,type="upper", #保留右上部分图形

addCoef.col="black",#添加相关系数,颜色为黑色

diag=F)#去掉自身相关

 

现在图形就比较符合我们的审美了,并且可以清楚的看到正相关在0.8以上的变量有:

cyl与disp、cyl与hp、disp与wt,即:气缸数量(cyl)和马力(hp)与排量(disp)正相关,并且排量(disp)越大的汽车越重(wt),这些信息都和我们的认知相符。

 

 

图形优化

 

方形调整:

 

col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))

corrplot(corr,

         method="color",#调整为正方形

         col=col(200),  #颜色调整

         type="upper", #保留右上部分

         order="hclust", #层次聚类

         addCoef.col = "black", #添加相关系数

         tl.col="black", tl.srt=45, #修改字体

         diag=FALSE #去除自身相关)

 

 

现在小伙伴们还能从图上发现哪些信息呢?是否表示相关性的颜色跟我们常用有些不一样?

 

更多参数试用

 

我们的图形现在是用蓝色表示正相关,红色表示负相关,而通常情况下我们是习惯用红色表示正值、蓝色表示负值,大家能猜到怎么对参数做修改嘛?

col <- colorRampPalette(c("#4477AA", "#77AADD", "#FFFFFF", "#EE9988", "#BB4444"))

corrplot(corr,

         method="color",#调整为正方形

         col=col(200),  #颜色调整

         type="upper", #保留右上部分

         order="hclust", #层次聚类

         addCoef.col = "black", #添加相关系数

         tl.col="black", tl.srt=45, #修改字体

         diag=FALSE #去除自身相关)

 

运用R语言这样就可以做到了,聪明的你也想到了吗?

 

还可以将图形换成饼图呢?我们来试试把图中的正方形换成饼图:

corrplot(corr,

         method="pie",#我们只更换method方法就可以实现

         col=col(200), 

         type="upper",

         order="hclust",

         addCoef.col = "black",

         tl.col="black", tl.srt=45,

         diag=FALSE)

 

更多的优化参数和图例,大家可以到corrplot的介绍界面查看哦:

https://cran.rproject.org/web/packages/corrplot/vignettes/corrplot-intro.html

 

欧易/鹿明生物易明学院更多课程正在更新中,请各位老师关注鹿明生物公众号,即可查询最新动态~~

 

 

猜你还想看

6大技巧——蛋白组学表单填写有高招!

5招你不知道的快捷键,让数据挖掘更高效快捷!

对话百年名画--文章绘图配色高级又简单!

细节决定成败,样本正确命名,解决隐匿大麻烦!

 

END