查看原文
其他

第七讲 R-相关性分析及作图

跟我学 投必得医学 2022-05-07

在“R与生物统计专题”中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现。以从浅入深,层层递进的形式在投必得医学公众号更新。


在上一讲中,我们介绍了第六讲 R-数据正态分布检验(点我可跳转)这两天大家学习积极性很高,在群里纷纷交作业,群里讨论也很活跃,想入群的拉倒文末撩小编哦。


今天的更新,我们会带您学习用R语言做相关性分析和作图。

相关性分析

相关性分析用于评估两个或多个变量之间的关联。例如,如果我们想知道父亲和儿子的身高之间是否存在关系,可以计算相关系数来回答这个问题。


如果两个变量(父亲和儿子的身高)之间没有关系,则儿子的平均身高应该相同,而与父亲的身高无关,反之亦然。


注意,仅当数据呈正态分布时,才可以使用相关性分析。可以使用Shapiro-Wilk test进行检查。请参看 第六讲 R-数据正态分布检验

小编将描述几种相关性分析的方法,并提供示例。

1. 相关性分析的方法


相关分析的方法多种



  • 皮尔逊(Pearson)相关(r),它测量两个变量(x和y)之间的线性相关性。它也称为参数相关性检验,因为它取决于数据的分布。仅当x和y来自正态分布时才可以使用它。y = f(x)的图称为线性回归曲线。


  • Kendall tauSpearman rho,它们是基于等级的相关系数(非参数)。



最常用的方法是Pearson相关方法。


相关公式

在下面的公式中


  • x和y是长度为n的两个向量

  • mx和my分别对应于x和y的均值。


下面将会详细介绍皮尔逊相关公式、Spearman相关公式、肯德尔(Kendall)相关公式。


1.1皮尔逊(Pearson)相关公式


相关性的p值(显着性水平)可以通过下列方式确定:

1. 通过查询相关系数表。其中自由度为:df=n-2,n是x和y变量中的观察次数(长度)。

2. 或通过如下计算t值:对应的p值通过t分布表确认,其中自由度为:df=n-2,n是x和y变量中的观察次数(长度)。


如果p值<0.05,则x和y之间的相关性很显着。


1.2 Spearman相关公式


Spearman相关方法用来计算x的秩和y变量的等级之间的相关性。

其中x’=rank(x), y’=rank(y).


1.3 肯德尔(Kendall)相关公式


Kendall相关分析测量变量x和y的秩次之间的对应关系。

x与y观测值的可能配对的总数为n(n-1)/2,其中n是x和y的样本数大小。

步骤如下:

  • 首先通过x值对x和y进行排序。如果x和y相关,则它们将具有相同的相对秩次顺序。

  • 现在,对于每个yi,计算yj>yi的数量(一致性对(c))和yj

    <yi的数量(不一致性对(d))。

    </yi的数量(

肯德尔相关距离定义如下:

其中,nc:一致对的总数

nd:不一致对的总数

n:x和y的样本量大小


2. 用R完成相关性分析


相关性分析函数

可以使用函数cor()cor.test()来计算相关系数:

  • cor()计算相关系数

  • cor.test()检验配对样本之间的相关性。它同时返回相关系数相关显着性水平(p值)。


简化格式为:

cor(x, y, method = c("pearson", "kendall", "spearman"))

cor.test(x, y, method=c("pearson", "kendall", "spearman"))

  • x,y:具有相同长度的数值向量

  • method:相关法

Tips

如果你的数据包含缺失值,请使用以下R代码通过按大小写删除来处理缺失值。

cor(x, y,  method = "pearson", use = "complete.obs")


2.1 将数据导入R


在这里,我们将使用名为mtcars的内置R数据集。我们之后会检验mtcars数据中mpg和wt变量之间的相关性。

# 导入R内自带的mtcars数据集library(datasets)data(mtcars)
# 将数据存储在变量my_data中my_data <- mtcars


2.2 检查数据


你可以使用head()和tails()函数检查数据,这将分别显示数据的第一部分和最后一部分。

# 显示前六行内容head(my_data, 6)

mpg cyl disp  hp drat    wt  qsec vs am gear carb

Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4

Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4

Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1

Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1

Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2

Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1


2.3 计算相关系数


cor(my_data$mpg,my_data$wt,method="pearson",use="complete.obs")[1] -0.8676594cor.test(my_data$mpg,my_data$wt,method="pearson",use="complete.obs")

Pearson's product-moment correlation

data:  my_data$mpg and my_data$wt

t = -9.559, df = 30, p-value = 1.294e-10

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

-0.9338264 -0.7440872

sample estimates:

cor

-0.8676594

可以看出,mpg与wt间的相关系数是0.87,呈负相关,其95%可信区间为-0.93到-0.74,P值为1.294e-10。说明两者高度相关。

2.4 使用散点图可视化数据


这里我们将使用R函数plot()

x <- mtcars$wty <- mtcars$mpgplot(x, y, main = "Main title",xlab = "X axis title", ylab = "Y axis title",pch = 19, frame = T)# 添加回归线abline(lm(y ~ x, data = mtcars), col = "red")

好了,本期讲解就先到这里。

在之后的更新中,我们会进一步为您介绍R的入门,以及常用生物统计方法和R实现。欢迎关注,投必得医学手把手带您走入R和生物统计的世界。


第一讲 R-基本介绍及安装

第二讲 R-编程基础-运算、数据类型和向量等基本介绍

第三讲 R编程基础-矩阵和数据框

第四讲 R-描述性统计分析


第五讲 R-数据描述性统计分析作图


第六讲 R-数据正态分布检验


当然啦,R语言的掌握是在长期训练中慢慢积累的。一个人学习太累,不妨加入“R与统计交流群”,和数百位硕博一起学习。


快扫二维码撩客服,

带你进入投必得医学交流群,

让我们共同进步!

↓↓


- END -


长按二维码关注「投必得医学」,更多科研干货在等你!


麻烦点一下在看再走呗

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存