计算 Wikipedia 上 Spearman 等级相关系数示例的 P 值

机器算法验证 p 值 斯皮尔曼罗 t分布
2022-03-25 08:26:31

维基百科文章Spearman 的秩相关系数包含一个计算 ρ 的示例。在这些部分的末尾是语句“...... P 值 = 0.6864058(使用 t 分布)。” 作者没有描述如何根据示例中的数据计算 P 值。

文章具体示例的 P 值是如何得出的?

注意:包含的指向 Wikipedia 的 P 值和 T 分布条目的链接过于笼统,无法提供明确的答案。

2个回答

在文章的下一部分“确定重要性”中,有等式

t=rn21r2

如果您将他们对 r 的估计值代入该方程,您会得到 -0.505 的统计量,您可以通过表格或计算机将其与标准 t 分布进行比较。例如(已编辑-感谢@whuber 更正了我的早期版本):

> spearmentt <- function(r,n){r*sqrt((n-2)/(1-r^2))}
> test <- spearmentt(-0.17575757575,10)
> test
[1] -0.5049782
> 1- pt(test,8)
[1] 0.6864058

值得注意的是,这是对 r 是否显着大于零的片面检验。可能更合适的测试是

> pt(test,8)
[1] 0.3135942

这是 r 是否显着小于零的单边 t 检验,即他们的证据表明看电视和智商之间存在负相关。

在 RI 中建议使用 Hmisc 包中的函数 rcorr 和您可以在线找到的自定义函数 flattenCorrMatrix ( http://www.sthda.com/english/wiki/print.php?id=78 )。rcorr 计算相关矩阵,而 flatten 函数将使您可以轻松访问相关性和 p 值。

对于要测试相关性的多个变量,这些方面的东西很好:

#extract columns you want to test
y<-x[,c(6:7,9:14,16,17,20,21)]

#calculates spearman correlations of all possible variable pairings
z<-rcorr(as.matrix(y),type=c("spearman"))

#flattens the matrix and gives you a nice table of all results
z1<-flattenCorrMatrix(zf$r, z$P)

# write your results in csv file
write.csv(z1, file = "z1results.csv")

干杯