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分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

相关推荐
生信摆渡15 小时前
R语言-快速对多个变量取交集
开发语言·数据库·r语言
biomooc16 小时前
R语言/Rstudio 报错
开发语言·r语言
Hello World and You1 天前
R ggplot2 绘图细节 geom_text展示不全 y轴坐标细节 x轴标题
开发语言·r语言
NiNg_1_2343 天前
R语言基础入门详解
开发语言·r语言
rock——you3 天前
R环境依赖的备份与恢复全攻略
开发语言·r语言
biomooc3 天前
R语言 | 宽数据变成一列,保留对应的行名和列名
开发语言·r语言
生信学习小达人3 天前
R package安装的几种方式
开发语言·r语言
卡卡_R-Python4 天前
训练误差or测试误差与特征个数之间的关系--基于R语言实现
开发语言·回归·r语言
亚图跨际5 天前
MATLAB和Python及R瑞利散射
python·matlab·r语言·光学·瑞利散射
不是伍壹5 天前
【R语言】字符类型转换
开发语言·r语言