R语言 | 带P值的相关性热图绘制教程

原文链接:带P值的相关性热图绘制教程

本期教程

往期教程部分内容














**注意:若是在MarkDown格式中无法运行成功,请新建有一个R script文件 **

一、加载R包

R 复制代码
if (!require(corrplot)) install.packages("corrplot")
if (!require(Hmisc)) install.packages("ggplot2")

library(ggplot2)
library(corrplot)

二、加载示例数据

{R} 复制代码
# 示例数据
data <- mtcars

三、计算相关性

1. 计算代码

R 复制代码
cor_matrix <- cor(data, use= 'pairwise.complete.obs',method='spearman')
  1. 参数的选择
  • use参数来处理包含缺失值的数据
    "everything", "all.obs", "complete.obs", "na.or.complete", or "pairwise.complete.obs"

  • everything:默认选项,不处理缺失值。如果数据中有缺失值,将返回 NA。
  • all.obs:只有当所有观察值都存在时才会计算相关性。如果数据中有缺失值,将返回错误。
  • complete.obs:只使用完整的观测对来计算相关性。如果有缺失值,将忽略包含缺失值的观测对。
  • na.or.complete:在有缺失值的情况下会先使用完整的观测对,如果全部是缺失值,则返回 NA。
  • pairwise.complete.obs:每对变量单独处理缺失值,计算每一对变量的相关性时,只使用这两个变量都有数据的观测值。

  • method参数:计算相关性的方法。
    pearson(default),kendall,spearman
R 复制代码
cor_matrix
R 复制代码
  mpg        cyl       disp         hp        drat         wt        qsec         vs
mpg   1.0000000 -0.9108013 -0.9088824 -0.8946646  0.65145546 -0.8864220  0.46693575  0.7065968
cyl  -0.9108013  1.0000000  0.9276516  0.9017909 -0.67888119  0.8577282 -0.57235095 -0.8137890
disp -0.9088824  0.9276516  1.0000000  0.8510426 -0.68359210  0.8977064 -0.45978176 -0.7236643
hp   -0.8946646  0.9017909  0.8510426  1.0000000 -0.52012499  0.7746767 -0.66660602 -0.7515934
drat  0.6514555 -0.6788812 -0.6835921 -0.5201250  1.00000000 -0.7503904  0.09186863  0.4474575
wt   -0.8864220  0.8577282  0.8977064  0.7746767 -0.75039041  1.0000000 -0.22540120 -0.5870162
qsec  0.4669358 -0.5723509 -0.4597818 -0.6666060  0.09186863 -0.2254012  1.00000000  0.7915715
vs    0.7065968 -0.8137890 -0.7236643 -0.7515934  0.44745745 -0.5870162  0.79157148  1.0000000
am    0.5620057 -0.5220712 -0.6240677 -0.3623276  0.68657079 -0.7377126 -0.20333211  0.1683451
gear  0.5427816 -0.5643105 -0.5944703 -0.3314016  0.74481617 -0.6761284 -0.14819967  0.2826617
carb -0.6574976  0.5800680  0.5397781  0.7333794 -0.12522294  0.4998120 -0.65871814 -0.6336948
              am       gear        carb
mpg   0.56200569  0.5427816 -0.65749764
cyl  -0.52207118 -0.5643105  0.58006798
disp -0.62406767 -0.5944703  0.53977806
hp   -0.36232756 -0.3314016  0.73337937
drat  0.68657079  0.7448162 -0.12522294
wt   -0.73771259 -0.6761284  0.49981205
qsec -0.20333211 -0.1481997 -0.65871814
vs    0.16834512  0.2826617 -0.63369482
am    1.00000000  0.8076880 -0.06436525
gear  0.80768800  1.0000000  0.11488698
carb -0.06436525  0.1148870  1.00000000

2. 计算P值

使用cor.mtest()函数计算

R 复制代码
# 计算P值矩阵
p_values <- cor.ptest(data, conf.level = 0.95, method = "spearman")
#
p_values
R 复制代码
mpg          cyl         disp           hp         drat           wt         qsec
mpg  0.000000e+00 4.690287e-13 6.370336e-13 5.085969e-12 5.381347e-05 1.487595e-11 7.055765e-03
cyl  4.690287e-13 0.000000e+00 2.275443e-14 1.867686e-12 1.943342e-05 3.574157e-10 6.195832e-04
disp 6.370336e-13 2.275443e-14 0.000000e+00 6.791338e-10 1.613884e-05 3.346362e-12 8.108019e-03
hp   5.085969e-12 1.867686e-12 6.791338e-10 0.000000e+00 2.277988e-03 1.953795e-07 3.105344e-05
drat 5.381347e-05 1.943342e-05 1.613884e-05 2.277988e-03 0.000000e+00 7.593194e-07 6.170251e-01
wt   1.487595e-11 3.574157e-10 3.346362e-12 1.953795e-07 7.593194e-07 0.000000e+00 2.148388e-01
qsec 7.055765e-03 6.195832e-04 8.108019e-03 3.105344e-05 6.170251e-01 2.148388e-01 0.000000e+00
vs   6.191450e-06 1.484058e-08 2.863870e-06 7.125286e-07 1.023343e-02 4.129434e-04 6.860828e-08
am   8.156989e-04 2.178046e-03 1.352011e-04 4.155768e-02 1.432515e-05 1.453656e-06 2.643506e-01
gear 1.328681e-03 7.678209e-04 3.334775e-04 6.390322e-02 1.014930e-06 2.162837e-05 4.182425e-01
carb 4.337570e-05 5.016643e-04 1.430209e-03 1.799847e-06 4.946824e-01 3.583063e-03 4.150300e-05
               vs           am         gear         carb
mpg  6.191450e-06 8.156989e-04 1.328681e-03 4.337570e-05
cyl  1.484058e-08 2.178046e-03 7.678209e-04 5.016643e-04
disp 2.863870e-06 1.352011e-04 3.334775e-04 1.430209e-03
hp   7.125286e-07 4.155768e-02 6.390322e-02 1.799847e-06
drat 1.023343e-02 1.432515e-05 1.014930e-06 4.946824e-01
wt   4.129434e-04 1.453656e-06 2.162837e-05 3.583063e-03
qsec 6.860828e-08 2.643506e-01 4.182425e-01 4.150300e-05
vs   0.000000e+00 3.570439e-01 1.169934e-01 9.878823e-05
am   3.570439e-01 0.000000e+00 2.304063e-08 7.263524e-01
gear 1.169934e-01 2.304063e-08 0.000000e+00 5.312358e-01
carb 9.878823e-05 7.263524e-01 5.312358e-01 0.000000e+00

绘制相关性热图

原文链接:带P值的相关性热图绘制教程

若我们的教程对你有所帮助,请点赞+收藏+转发,这是对我们最大的支持。

往期部分文章

1. 最全WGCNA教程(替换数据即可出全部结果与图形)


2. 精美图形绘制教程

3. 转录组分析教程

4. 转录组下游分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

相关推荐
nju_spy7 小时前
2023 美赛C Predicting Wordle Results(上)
人工智能·机器学习·数学建模·数据挖掘·arima·时间序列预测·相关性分析
zhangfeng11338 小时前
geo Counts 数据 ,机器学习 模型的外部验证 ROC外部验证数据处理流程
人工智能·机器学习·r语言·生物信息
zhangfeng113313 小时前
生物信息 R语言和 cytoscape 相互沟通的组件RCy3,构建cytoscape网络表 节点类型表 链接边的表,并推送到cytoscape
数据库·r语言·生物信息
zhangfeng113313 小时前
R语言 安装老一点的班装包 核心是从CRAN归档(Archive)下载对应版本的安装包
开发语言·r语言
数模加油站1 天前
最新R(4.4.1)及R-studio保姆级安装配置详细教程及常见问题解答
开发语言·windows·数学建模·r语言
czliutz1 天前
R语言绘制股票K线图及布林线
开发语言·r语言
天意生信云4 天前
单细胞转录组:差异基因分析和富集分析
经验分享·数据分析·r语言
zhangfeng11336 天前
wgcna 相关性热图中4个颜色 4个共表达模块 的模块基因是否都要做GO/KEGG分析”,核心取决于你的**研究目标和模块的生物学意义*
开发语言·r语言·生物信息
一口面条一口蒜6 天前
R语言中的获取函数与替换函数
开发语言·r语言
一口面条一口蒜7 天前
R语言中的S3 泛型与方法
开发语言·r语言