此篇为转载R语言学习笔记之相关性矩阵分析及其可视化

1. 新建数据集

data(mtcars)#加载数据集
mydata <- mtcars[, c(1,3,4,5,6,7)]
head(mydata, 6)#查看数据前6行

在这里插入图片描述

2. Hmisc

包里的rcorr()函数能够同时给出相关系数以及显著性水平p-value。 rcorr(x, type = c(“pearson”,“spearman”))

library(Hmisc)#加载包
res2 <- rcorr(as.matrix(mydata))
res2

在这里插入图片描述

#可以用res2$r、res2$P来提取相关系数以及显著性p-value
res2$r

在这里插入图片描述

res2$P
在这里插入图片描述如何将相关系数以及显著性水平p-value整合进一个矩阵内,可以自定义一个函数 <font color=red>flattenCorrMatrix </font>。

# ++++++++++++++++++++++++++++
# flattenCorrMatrix
# ++++++++++++++++++++++++++++
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat) data.frame( row = rownames(cormat)[row(cormat)[ut]], 
column = rownames(cormat)[col(cormat)[ut]], cor =(cormat)[ut], p = pmat[ut] )
}
#举个栗子
res3 <- rcorr(as.matrix(mtcars[,1:7]))
flattenCorrMatrix(res3$r, res3$P)

在这里插入图片描述

3. 可视化相关系数矩阵

corrplot() function to plot a correlogram

这个函数来自于包corrplot()
,通过颜色深浅来显著相关程度。参数主要有:

    type: “upper”, “lower”, “full”,显示上三角还是下三角还是全部
    order:用什么方法,这里是hclust
    tl.col (for text label color) and tl.srt (for text label string rotation) :控制文本颜色以及旋转角度
    
library(corrplot)#先加载包
corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45)

在这里插入图片描述
也可以结合显著性绘制

# Insignificant correlations are leaved blank
corrplot(res2$r, type="upper", order="hclust", p.mat = res2$P, sig.level = 0.01, insig = "blank")

在这里插入图片描述

4. chart.Correlation()来自于包PerformanceAnalytics

library(PerformanceAnalytics)#加载包
chart.Correlation(mydata, histogram=TRUE, pch=19)

在这里插入图片描述

5. 此篇为笔记转载如有侵权联系删除

作者:taoyan
链接:https://www.jianshu.com/p/ef9e6a39a145
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

看完如果对你有帮助,感谢点赞支持!

如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐