R统计绘图-环境因子相关性热图

1 基本信息

本流程是进行不同土壤环境因子相关性分析并绘制热图,流程开始按下图整理环境因子数据,行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,3个分组信息。

图1|环境因子及分组信息表,env.csv。

2 分析流程

2.1 设置工作路径并调用R包

# 设置工作路径
#knitr::opts_knit$set(root.dir="D:\\EnvStat")# 使用Rmarkdown进行程序运行
Sys.setlocale('LC_ALL','C') # Rmarkdown全局设置
​
# 调用R包
library(ggcorrplot)
library(corrplot)

2.2 数据读入


options(stringsAsFactors=F)# R中环境变量设置,防止字符型变量转换为因子
# 读入环境因子数据表
ENV=read.csv("env.csv",header = T,row.names = 1,sep = ",",comment.char = "",stringsAsFactors = F,colClasses = c(rep("character",4),rep("numeric",11)))
head(ENV) # 查看数据前几行
#dim(ENV) # 查看数据行、列数
#str(ENV) # 查看数据表每列的数据形式
​
# 解决数据中存在ties的警告,选用"pearson"fan方法计算相关性系数,不用运行此命令
ENV[4:14] = rank(ENV[4:14], ties.method = "random") # 使用 "kendall"或 "spearman"方法计算相关性系数,可能会遇到此报错

2.3 环境因子相关性分析

# 环境因子相关性分析,根据自己的数据选择相关性计算方法:"pearson", "kendall", or "spearman"
env.cor <- round(cor(ENV[4:14], method = "pearson"),3) # round(),对输出结果取小数点前三位
env.cor
​
# 使用ggcorrplot包的cor_pmat函数计算相关性p值,图2
env.p <-round(cor_pmat(ENV[4:14],method = "pearson"),3)
env.p 

图2|相关性系数的p值,env.p 。

2.4 绘制环境因子相关性热图

相关性热图绘制方法之前已经发过:R绘图-相关性分析及绘图;R绘图-相关性系数图。这里绘制相关性图:右上角为热图并添加显著性标记,左下角添加相关性r值。

# 绘制相关性热图
?corrplot # 查看各参数含义
cor.plot<-corrplot(corr =env.cor,type="upper",tl.pos="tp",tl.col="black",p.mat = env.p, insig = "label_sig", sig.level = c(.01, .05),pch.cex=1,pch.col = "black",order = "AOE")
cor.plot<-corrplot(corr = env.cor,type="lower",add=TRUE,method="number",
                   tl.pos="n",tl.col="black",
                   col="black",tl.cex=1.2,diag=FALSE, cl.pos="n",pch.col = "black",
                   number.cex = 0.8,order = "AOE")

图3|相关性热图。右上角为添加显著性标记相关性热图,左下角是相关性系数r值。

参考文献

Visualization of a correlation matrix using ggplot2


推荐阅读

R中进行单因素方差分析并绘图

R统计-多变量单因素参数、非参数检验及多重比较

R绘图-相关性分析及绘图

R绘图-相关性系数图

R绘图-RDA排序分析

R统计-VPA分析(RDA/CCA)

R统计-PCA/PCoA/db-RDA/NMDS/CA/CCA/DCA等排序分析教程


开放转载公众号原创文章开放转载,在文末留言告知即可

 EcoEvoPhylo :主要分享微生物生态和phylogenomics的数据分析教程。扫描上方二维码,即可关注EcoEvoPhylo。让我们大家一起学习,互相交流,共同进步。

### 绘制环境因子相关性 #### R语言实现 为了使用R语言绘制环境因子相关性,可以按照如下方式操作: 安装加载必要的包[^1]: ```r install.packages("corrplot") install.packages("ggplot2") install.packages("ggpubr") library(corrplot) install.packages("GGally") library(GGally) library(ggplot2) library(ggpubr) library(readxl) ``` 读取Excel文件中的数据,创建成对散点矩阵来初步观察变量间的关系: ```r td <- read_excel("path_to_your_file.xlsx") # 替换为实际路径 ggpairs(td) ``` 计算数据框`data`内的列之间的皮尔逊相关系数,将其存储到一个新的对象中以便后续处理[^2]: ```r correlation_matrix <- cor(td, method="pearson", use="complete.obs") ``` 最后一步是可视化这些数值。这里采用`corrplot()`函数来自定义展示样式,比如颜色方案、布局形式等参数设置[^1]。 对于更复杂的自定义需求,还可以考虑引入其他形库如Seaborn(虽然主要用于Python),但在纯R环境中也有类似的替代品可供选择。 #### Python实现 在Python里完成同样的任务则更为简洁一些。首先同样要确保已经安装好pandas用于管理表格型结构化资料以及matplotlib/seaborn负责绘图工作。接着通过下面几行简单的命令就能得到一张美观大方的相关性表了: 导入所需模块载入数据集: ```python import pandas as pd from seaborn import heatmap import matplotlib.pyplot as plt df = pd.read_excel('your_data_path_here.xlsx') # 将此字符串替换为具体的数据源位置 plt.figure(figsize=(8,6)) heatmap(df.corr(), annot=True, fmt='.2f', square=True, cmap='coolwarm') plt.show() ``` 上述代码片段实现了从Excel文档中提取信息至DataFrame容器内;随后调用了seaborn里的`heatmap()`方法传入由`.corr()`产生的关联度量表作为输入之一;另外还设置了几个额外选项用来调整显示效果,例如是否标注具体的数值(`annot`)、保留几位小数位(`fmt`)、单元格形状(`square`)还有整体色调风格(`cmap`)等等特性都可根据个人喜好灵活变动。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EcoEvoPhylo

值得点赞吗?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值