查看原文
其他

R可视化——相关性计算及展示

王志山 科研后花园 2023-09-08


相关性分析(correlation analysis)是数据处理过程中经常用到的一种分析方法,一般指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。当然,相关性的元素之间需要存在一定的联系才可以进行相关性分析。今天,小编就带大家梳理一下如何使用R语言进行相关性分析及展示!


加载数据

rm(list=ls())#clear Global Environmentsetwd('D:\\桌面\\相关性分析')#设置工作路径#读取数据,这里是随机编写的数据,可能相关性不是很强哈df <- read.table(file="data.txt",sep="\t",header=T,check.names=FALSE,row.names = 1)#预览head(df)


使用R自带的相关性分析函数cor()进行分析

#使用cor()函数中的“spearman”方法进行相关性计算,并用热图进行展示heatmap(cor(df,method = 'spearman'))

使用Hmisc包中的rcorr函数进行计算

1)计算数据的相关性

library(Hmisc)df_rcorr<-rcorr(as.matrix(df))#需要进行数据格式转换,计算完成后存储3个内容:r,P,n

2)展示

#半角圆圈图library(corrplot)corrplot(df_rcorr$r,#数据 type="lower",#可选择展示方式,"full", "lower", "upper" tl.col ="red",#文本颜色 tl.srt = 45#标签旋转 )#??corrplot#查看具体参数

#热图library (pheatmap)pheatmap(df_rcorr$r, angle_col = "45", cellwidth=25, cellheight=20, display_numbers=T, number_format="%.2f", number_color="grey30")

通过PerformanceAnalytics包展示

library(PerformanceAnalytics)chart.Correlation(df,histogram = T,pch="+")#大家可以去网上搜一下这种图应该怎么理解

ggcor包与ggplot2展示

library(ggplot2) library(ggcor)##方块 quickcor(df) +geom_square()

#显示一半quickcor(df, type = "lower", show.diag = FALSE) + geom_square()

#半个显示图形,半个显示显著性quickcor(df, cor.test =T)+#计算相关性 geom_square(data =get_data(type ="lower", show.diag =F))+ geom_mark(data =get_data(type ="upper", show.diag =F), size =3)+ guides(fill = guide_legend(title = "p_value", order = 1))+#图例  geom_mark(r = NA,sig.thres = 0.05, size = 3, colour = "red")


源码及作图数据可在后台回复“相关性”获取!!!

爱我请给我好看!

推荐阅读

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存