linkET包绘制mantal test 相关性热图

今天小果想学习利用linkET包来绘制mantel test相关性热图,代码如下:
01
安装需要的R包
install.packages(“ggplot2”)install.packages(“tidyverse”)install.packages(“devtools”)devtools::install_github("Hy4m/linkET", force = TRUE)
02
载入需要的R包
library(devtools)library(ggplot2)library(tidyverse)library(linkET)
03
代码展示
#读取数据varechem<-read.csv(file="varechem.csv",row.names=1)

varespec<-read.csv(file="varespec.csv",row.names=1)

mantel <- mantel_test(varespec, varechem, # 传入需要检测的两个矩阵mantel_fun = 'mantel',spec_select = list(Spec01 = 1:7,Spec02 = 8:18,Spec03 = 19:37,Spec04 = 38:44)) %>%mutate(r = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),p = cut(p, breaks = c(-Inf, 0.01, 0.05, Inf),labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))#计算环境因子相关性系数:cor2 <- correlate(varechem)#绘制相关性热图p1<- qcorrplot(cor2,grid_col = "grey50",grid_size = 0.2,type = "upper",diag = FALSE) +geom_square() +scale_fill_gradientn(colours = c("#610214", "#d05646", "#f5f4f4", "#569cc7", "#0b3b71"),limits = c(-1, 1))#添加显著性标签:p2 <- p1+geom_mark(size = 4,only_mark = T,sig_level = c(0.05, 0.01, 0.001),sig_thres = 0.05,colour = 'white')#在相关性热图上添加mantel连线:p3<- p2+geom_couple(data = mantel,aes(colour = p, size = r),curvature = nice_curvature())+scale_size_manual(values = c(0.5, 1.2, 2)) + #连线粗细scale_colour_manual(values = c("#d85c01", "#29d300", "#A2A2A288")) + #连线配色#修改图例:guides(size = guide_legend(title = "Mantel r",override.aes = list(colour = "grey35"),order = 2),colour = guide_legend(title = "Mantel p",override.aes = list(size = 3),order = 1),fill = guide_colorbar(title = "Pearson r", order = 3))

小果感觉效果还不错,该包与ggplot2语法兼容,在绘图的同时可以学习相关的ggplot2的绘图知识,值得推荐,今天小果的分享就到这里了,有需要的可以借鉴学习,下期再见。

