Мне бы хотелось сопоставить свои данные (пакет, который я использую, неожиданно удивил, это {corrplot}) и отображать в нем p-значения парных корреляций.
Теперь я нашел несколько полезных вещей здесь о том, как это сделать, и на первый взгляд, все прошло на удивление хорошо. Но потом я заметил, что p-значения были совершенно странными и не соответствовали фактическим p-значениям из cor.test ().
Я уже выяснил (используя примерные данные), что это не из-за моих данных, а из-за того, что я ошибся в коде, с помощью которого я пытаюсь включить p-значения.
Итак, вот воспроизводимый пример:
#using built-in r-data:
data("mtcars")
#now for the corrplot:
M = cor(mtcars, use="complete.obs")
pval <- corr.test(M, adjust="none")$p
corrplot(M, method = "color", type = "upper",
order = "original", tl.col = "black", tl.srt = 45,
family="serif", p.mat=pval, insig="p-value", sig.level=0)
Вот что я получаю:
(не разрешил мне загрузить файл, поэтому вам нужно щелкнуть ссылку ...) < / а>
В любом случае, чтобы проиллюстрировать, что это не настоящие p-значения, давайте возьмем одну пару, а именно «qsec» и «drat»:
cor.test(mtcars$qsec, mtcars$drat, use="complete.obs")
И результирующее p-значение («p-value = 0,6196») определенно не то, что вы видите на графике соответствия («0,14»).
Это, наверное, действительно глупо, и я уверен (p ‹.0001), что что-то не замечаю - но я не знаю, что это такое. Помощь?