此篇为转载R语言学习笔记之相关性矩阵分析及其可视化
数据相关性分析及可视化
1. 新建数据集2. Hmisc3. 可视化相关系数矩阵4. chart.Correlation()来自于包PerformanceAnalytics5. 此篇为笔记转载如有侵权联系删除看完如果对你有帮助,感谢点赞支持!如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]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-valueres2$r
res2$P
如何将相关系数以及显著性水平p-value整合进一个矩阵内,可以自定义一个函数 <font color=red>flattenCorrMatrix </font>。
# ++++++++++++++++++++++++++++# flattenCorrMatrix# ++++++++++++++++++++++++++++# cormat : matrix of the correlation coefficients# pmat : matrix of the correlation p-valuesflattenCorrMatrix <- 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:用什么方法,这里是hclusttl.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 blankcorrplot(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链接:/p/ef9e6a39a145来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。