R计算两列数据的相关系数_第七讲 R-相关性分析及做图

R计算两列数据的相关系数_第七讲 R-相关性分析及做图_第1张图片

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

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

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

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

1. 相关性分析的方法

相关分析的方法有多种:

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

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

相关公式

在下面的公式中

  • xy是长度为n的两个向量
  • mx和my分别对应于x和y的均值。

1.1皮尔逊(Pearson)相关公式

R计算两列数据的相关系数_第七讲 R-相关性分析及做图_第2张图片

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

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

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

e6148a0acdf0a6112c10099b0bff8fda.png

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

1.2 Spearman相关公式

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

19d645ad322cc9b3dbb0204de2eadf58.png

其中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不一致性对(d))。

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

696f13ec990b1de221c34c7e23a4e8f1.png

其中,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:相关法

如果你的数据包含缺失值,请使用以下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.8676594
cor.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$wt
y <- mtcars$mpg
plot(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-相关性分析及做图_第3张图片

如果您觉得我说的对您有帮助,请点赞让我感到您的支持,您的支持是我写作最大的动力~

ijournal:高颜值的期刊检索网站,助您快速找到理想目标期刊(weixin小程序也上线了哦)

投必得:全专业中英文论文润色编辑助力您的论文快速发表,点击了解业务详情

R计算两列数据的相关系数_第七讲 R-相关性分析及做图_第4张图片

专栏传送门:

投必得科研软件安装使用手册;投必得:SCI期刊介绍与选择;投必得,教你写论文;投必得统计分析大讲堂;投必得科研生活解忧杂货店

你可能感兴趣的:(R计算两列数据的相关系数,r语言变量长度不一致怎么办,皮尔逊,肯德尔,斯皮尔曼相关分析分别是针对什么)