本文介绍偏相关的概念,并用R解释其计算过程。
统计学通常实用皮尔逊相关系数衡量两个变量之间的先行关系。但有时我们需要保持第三个变量不变时,计算两个变量之间的关系。
举例,假设保持学生当前学习成绩不变的情况下,计算学生学习的时间与期末考试之间的关系。这是我们使用偏相关衡量学习时间与期末考试成绩之间的关系。
下面通过示例来解释计算过程。
下面数据框包括10个学生的当前成绩、学习时间以及期末考试分数:
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))
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)
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.024,大于0.05,没有统计意义上的显著性。
从输出可以看出使用了pearson
计算方法。pcor函数也可以指定方法参数为kendall
。
本文参考链接:https://blog.csdn.net/neweastsun/article/details/122481607