如何在 r 中计算偏相关
在统计学中,我们经常使用皮尔逊相关系数来衡量两个变量之间的线性关系。
然而,有时我们想在控制第三个变量的同时了解两个变量之间的关系。
例如,假设我们想要衡量学生的学习时数与期末考试成绩之间的关联,同时控制学生在班级中的当前成绩。
在这种情况下,我们可以使用偏相关来衡量学习时间和期末考试成绩之间的关系。
本教程介绍如何在 R 中计算偏相关。
示例:R 中的偏相关
假设我们有以下数据框,显示 10 名学生的当前成绩、学习总时数和期末考试成绩:
#create data frame df <- data. frame (currentGrade = c(82, 88, 75, 74, 93, 97, 83, 90, 90, 80), hours = c(4, 3, 6, 5, 4, 5, 8, 7, 4, 6), examScore = c(88, 85, 76, 70, 92, 94, 89, 85, 90, 93)) #view data frame df currentGrade hours examScore 1 82 4 88 2 88 3 85 3 75 6 76 4 74 5 70 5 93 4 92 6 97 5 94 7 83 8 89 8 90 7 85 9 90 4 90 10 80 6 93
为了计算数据框中变量的每个成对组合之间的部分相关性,我们可以使用ppcor 库中的pcor()函数:
library (ppcor)
#calculate partial correlations
pcor(df)
$estimate
currentGrade hours examScore
currentGrade 1.0000000 -0.3112341 0.7355673
hours -0.3112341 1.0000000 0.1906258
examScore 0.7355673 0.1906258 1.0000000
$p.value
currentGrade hours examScore
currentGrade 0.00000000 0.4149353 0.02389896
hours 0.41493532 0.0000000 0.62322848
examScore 0.02389896 0.6232285 0.00000000
$statistic
currentGrade hours examScore
currentGrade 0.0000000 -0.8664833 2.8727185
hours -0.8664833 0.0000000 0.5137696
examScore 2.8727185 0.5137696 0.0000000
$n
[1] 10
$gp
[1] 1
$method
[1] "pearson"
以下是如何解释结果:
学习时间和期末考试成绩之间的部分相关性:
学习时间和期末考试成绩之间的偏相关为0.191 ,呈现较小的正相关。随着学习时间的增加,假设当前成绩保持不变,考试成绩也往往会增加。
此偏相关的 p 值为0.623 ,在 α = 0.05 时不具有统计显着性。
当前成绩和期末考试成绩之间的部分相关性:
当前成绩与期末考试成绩之间的偏相关性为0.736 ,呈现很强的正相关性。随着当前成绩的提高,假设学习时数保持不变,考试成绩也往往会增加。
此偏相关的 p 值为0.024 ,在 α = 0.05 时具有统计显着性。
当前年级和学习时间之间的偏相关:
当前成绩、学习时间和期末考试成绩之间的偏相关为-0.311 ,表示轻微的负相关。随着当前成绩的增加,期末考试成绩往往会下降,假设期末考试成绩保持不变。
此偏相关的p 值为0.415 ,在 α = 0.05 时不具有统计显着性。
结果还告诉我们,计算偏相关的方法是“Pearson”。
在pcor()函数中,我们还可以指定“kendall”或“pearson”作为计算相关性的替代方法。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何在 R 中计算 Spearman 等级相关
如何计算 R 中的互相关
如何计算R中的滑动相关性
如何计算 R 中的点双列相关性