斯皮尔曼等级相关系数 (Spearman's rank correlation coefficient)
1.
使用时机:
斯皮尔曼等级相关系数是用以反映两组变量之间关系密切程度的统计指标。
2.
分析类型:
无母数分析(non-parametric analysis) 。
3.
斯皮尔曼等级相关系数前提假设:
无。
4.
范例数据:
某研究喂食量对斑马鱼(zebrafish)存活的影响。在恒温下,投入饲料X
(mg),斑马鱼存活比例Y的资料如下:
X (mg)
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
Y (存活比例)
1
0.95
0.95
0.9
0.85
0.7
0.65
0.6
0.55
0.42
5.
画图看数据分布:
第一步:
输入建立数据,储存在变量名称为dat的data frame中。
v1
c(0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55)
v2
0.95, 0.95, 0.9, 0.85, 0.7, 0.65, 0.6, 0.55, 0.42)
dat
data.frame(v1,
v2)
第二步:
安装ggplot2程序套件。
第三步:
呼叫ggplot2程序套件备用。
library(ggplot2)
第四步:
使用函数ggplot代入dat及v1、v2画x-y散布图及回归线。
ggplot(dat, aes(x
= v1, y = v2)) +
geom_point(shape = 1) +
# 画空心圆
geom_smooth(method = lm)
# 加回归线
#
灰色区域是回归线的95%信赖区间。
6.
使用R计算斯皮尔曼等级相关系数,方法一:
第一步:
输入建立数据。
v1
c(0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55)
v2
0.95, 0.95, 0.9, 0.85, 0.7, 0.65, 0.6, 0.55, 0.42)
第二步:
使用基本模块(base)函数cor代入v1及v2计算斯皮尔曼等级相关系数。
cor(v1,
v2, method = "spearman")
[1]
-0. 9969651 #
计算结果斯皮尔曼等级相关系数
= -0.9969651
#
无提供p值。
第三步:
检定斯皮尔曼等级相关系数是否为零(X、Y无关): H0: ρ = 0,HA: ρ ≠ 0。
使用基本(base)模块函数cor.test代入v1及v2计算斯皮尔曼等级相关系数并进行假设检定。
cor.test(v1,
v2, alternative = "two.sided", method =
"spearman", exact = FALSE)
第四步:
判读结果。
Spearman's
rank correlation rho
data: v1 and v2
S = 329.5,
p-value = 3.698e-10
alternative
hypothesis: true rho is not equal to 0
sample
estimates:
rho -0.9969651