「一边学习,一边总结,一边分享!」
由于微信改版,一直有同学反映。存在长时间接收不到公众号的推文。那么请跟随以下步骤,将**「小杜的生信筆記」设置为「星标」,不错过每一条推文教程。**
本期教程
往期教程部分内容
**注意:若是在MarkDown格式中无法运行成功,请新建有一个R script文件 **
一、加载R包
if (!require(corrplot)) install.packages("corrplot")
if (!require(Hmisc)) install.packages("ggplot2")
library(ggplot2)
library(corrplot)
二、加载示例数据
# 示例数据
data <- mtcars
三、计算相关性
1. 计算代码
cor_matrix <- cor(data, use= 'pairwise.complete.obs',method='spearman')
- 参数的选择
- 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
cor_matrix
mpg cyl disp hp drat wt qsec vs
mpg 1.0000000 -0.9108013 -0.9088824 -0.89466460.65145546 -0.88642200.466935750.7065968
cyl -0.91080131.00000000.92765160.9017909 -0.678881190.8577282 -0.57235095 -0.8137890
disp -0.90888240.92765161.00000000.8510426 -0.683592100.8977064 -0.45978176 -0.7236643
hp -0.89466460.90179090.85104261.0000000 -0.520124990.7746767 -0.66660602 -0.7515934
drat 0.6514555 -0.6788812 -0.6835921 -0.52012501.00000000 -0.75039040.091868630.4474575
wt -0.88642200.85772820.89770640.7746767 -0.750390411.0000000 -0.22540120 -0.5870162
qsec 0.4669358 -0.5723509 -0.4597818 -0.66660600.09186863 -0.22540121.000000000.7915715
vs 0.7065968 -0.8137890 -0.7236643 -0.75159340.44745745 -0.58701620.791571481.0000000
am 0.5620057 -0.5220712 -0.6240677 -0.36232760.68657079 -0.7377126 -0.203332110.1683451
gear 0.5427816 -0.5643105 -0.5944703 -0.33140160.74481617 -0.6761284 -0.148199670.2826617
carb -0.65749760.58006800.53977810.7333794 -0.125222940.4998120 -0.65871814 -0.6336948
am gear carb
mpg 0.562005690.5427816 -0.65749764
cyl -0.52207118 -0.56431050.58006798
disp -0.62406767 -0.59447030.53977806
hp -0.36232756 -0.33140160.73337937
drat 0.686570790.7448162 -0.12522294
wt -0.73771259 -0.67612840.49981205
qsec -0.20333211 -0.1481997 -0.65871814
vs 0.168345120.2826617 -0.63369482
am 1.000000000.8076880 -0.06436525
gear 0.807688001.00000000.11488698
carb -0.064365250.11488701.00000000
2. 计算P值
使用cor.mtest()函数计算
# 计算P值矩阵
p_values <- cor.ptest(data, conf.level = 0.95, method = "spearman")
#
p_values
mpg cyl disp hp drat wt qsec
mpg 0.000000e+004.690287e-136.370336e-135.085969e-125.381347e-051.487595e-117.055765e-03
cyl 4.690287e-130.000000e+002.275443e-141.867686e-121.943342e-053.574157e-106.195832e-04
disp 6.370336e-132.275443e-140.000000e+006.791338e-101.613884e-053.346362e-128.108019e-03
hp 5.085969e-121.867686e-126.791338e-100.000000e+002.277988e-031.953795e-073.105344e-05
drat 5.381347e-051.943342e-051.613884e-052.277988e-030.000000e+007.593194e-076.170251e-01
wt 1.487595e-113.574157e-103.346362e-121.953795e-077.593194e-070.000000e+002.148388e-01
qsec 7.055765e-036.195832e-048.108019e-033.105344e-056.170251e-012.148388e-010.000000e+00
vs 6.191450e-061.484058e-082.863870e-067.125286e-071.023343e-024.129434e-046.860828e-08
am 8.156989e-042.178046e-031.352011e-044.155768e-021.432515e-051.453656e-062.643506e-01
gear 1.328681e-037.678209e-043.334775e-046.390322e-021.014930e-062.162837e-054.182425e-01
carb 4.337570e-055.016643e-041.430209e-031.799847e-064.946824e-013.583063e-034.150300e-05
vs am gear carb
mpg 6.191450e-068.156989e-041.328681e-034.337570e-05
cyl 1.484058e-082.178046e-037.678209e-045.016643e-04
disp 2.863870e-061.352011e-043.334775e-041.430209e-03
hp 7.125286e-074.155768e-026.390322e-021.799847e-06
drat 1.023343e-021.432515e-051.014930e-064.946824e-01
wt 4.129434e-041.453656e-062.162837e-053.583063e-03
qsec 6.860828e-082.643506e-014.182425e-014.150300e-05
vs 0.000000e+003.570439e-011.169934e-019.878823e-05
am 3.570439e-010.000000e+002.304063e-087.263524e-01
gear 1.169934e-012.304063e-080.000000e+005.312358e-01
carb 9.878823e-057.263524e-015.312358e-010.000000e+00
绘制相关性热图
若我们的教程对你有所帮助,请点赞+收藏+转发,这是对我们最大的支持。
往期部分文章
「1. 最全WGCNA教程(替换数据即可出全部结果与图形)」
「2. 精美图形绘制教程」
「3. 转录组分析教程」
「4. 转录组下游分析」
「小杜的生信筆記」 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!! |