相关性分析用于评估两个或多个变量之间的关联。例如,如果我们想知道父亲和儿子的身高之间是否存在关系,可以计算相关系数来回答这个问题。
如果两个变量(父亲和儿子的身高)之间没有关系,则儿子的平均身高应该相同,而与父亲的身高无关,反之亦然。
注意,仅当数据呈正态分布时,才可以使用相关性分析。可以使用Shapiro-Wilk test进行检查。请参看第六讲
小编将描述几种相关性分析的方法,并提供示例。
相关分析的方法有多种:
最常用的方法是Pearson相关方法。
在下面的公式中
相关性的p值(显着性水平)可以通过下列方式确定:
1. 通过查询相关系数表,其中自由度为:df=n-2,n是x和y变量中的观察次数(长度)。
2. 或通过如下计算t值:对应的p值通过t分布表确认,其中自由度为:df=n-2,n是x和y变量中的观察次数(长度)。
如果p值<0.05,则x和y之间的相关性很显著。
Spearman相关方法用来计算x的秩和y变量的等级之间的相关性。
其中x’=rank(x), y’=rank(y).
的Kendall相关分析测量变量x和y的秩次之间的对应关系。x与y观测值的可能配对的总数为n(n-1)/2,其中n是x和y的样本数大小。
步骤如下:
肯德尔相关距离定义如下:
其中,nc:一致对的总数
nd:不一致对的总数
n:x和y的样本量大小
可以使用函数cor()或cor.test()来计算相关系数:
简化格式为:
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")
在这里,我们将使用名为mtcars的内置R数据集。我们之后会检验mtcars数据中mpg和wt变量之间的相关性。
# 导入R内自带的mtcars数据集
library(datasets)
data(mtcars)
# 将数据存储在变量my_data中
my_data <- mtcars
你可以使用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
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。说明两者高度相关。
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")
如果您觉得我说的对您有帮助,请点赞让我感到您的支持,您的支持是我写作最大的动力~
ijournal:高颜值的期刊检索网站,助您快速找到理想目标期刊(weixin小程序也上线了哦)
投必得:全专业中英文论文润色编辑助力您的论文快速发表,点击了解业务详情
专栏传送门:
投必得科研软件安装使用手册;投必得:SCI期刊介绍与选择;投必得,教你写论文;投必得统计分析大讲堂;投必得科研生活解忧杂货店