使用cor.test((的p值不同于手动。我想不出我到底错过了什么。如有任何帮助,我们将不胜感激!
Pearson's product-moment correlation
data: GSSE_new$MusicPerceptionScores and GSSE_new$MusicAptitudeScores
t = 27.152, df = 148, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.8811990 0.9359591
sample estimates:
cor
0.9125834
#######
2*pt(q=MPMA_cortest$statistic, df=MPMA_cortest$parameter, lower.tail=FALSE)
[1] 2.360846e-59
由于您没有提供带有实际数据的最小可复制示例,我无法用您自己的数据进行确认,但这里有一个程序显示手动版本等于cor.test
p值:
MPMA_cortest <- cor.test(mtcars$hp, mtcars$mpg)
p_manual <- pt(
q = abs(MPMA_cortest$statistic),
df = MPMA_cortest$parameter,
lower.tail = FALSE) * 2
p_manual == MPMA_cortest$p.value
#> t
#> TRUE
编辑:还要注意,cor.test
打印输出仅显示p-value < 2.2e-16
。这两个值很可能完全相等(您的值较小,因此满足不等式条件(。