首页 > 编程知识 正文

R语言数据相关性分析(相关系数和p值)及可视化

时间:2023-05-06 15:40:28 阅读:267787 作者:4614

此篇为转载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:用什么方法,这里是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 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链接:https://www.jianshu.com/p/ef9e6a39a145来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 看完如果对你有帮助,感谢点赞支持! 如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

168飞艇6种不亏钱的方法der:用什么方法,这里是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 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链接:https://www.jianshu.com/p/ef9e6a39a145来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 看完如果对你有帮助,感谢点赞支持! 如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。