首页 > 科研绘图 > R语言corrplot包相关性绘图代码......
2022
06-30

R语言corrplot包相关性绘图代码......

说到相关分析,我们都知道是用来观察变量之间相关性的一种分析方法,而得出的结果很难用表格形象展示,这个时候我们的相关性图形就派上了用场,那么接下来为大家介绍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的介绍界面查看哦

转自:鹿明生物


最后编辑:
作者:萌小白
一个热爱网络的青年!

发布评论

表情