[英]Two different p-values for one variable combination? corrplot::corrplot
我想校正我的数据(我使用的包,令人惊讶的是{corrplot}),并在其中显示成对相关的p值。
现在,我在这里找到了一些有关如何精确执行操作的有用信息,乍一看,它运行得非常好。 但是后来我注意到,p值完全奇怪,它们与cor.test()中的实际p值不对应。
我已经发现(使用示例性数据)不是由于我的数据,而是我尝试包含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值= 0.6196”)绝对不是您在corrplot中看到的值(“ 0.14”)。
这可能真是愚蠢,我确定(p <.0001)我正在忽略某些内容-但我不知道它是什么。 救命?
通过使用corr.test(M, adjust="none")
您可以将矩阵M
传递给函数。 矩阵M
与您拥有的数据有所不同。 尝试改用corr.test(mtcars, adjust="none")
。 您需要传递您的实际数据集,而不是相关矩阵。
如果检查有data.frame(M)
的样子,你会看到你的drat
变量有11个值,而这些都是的相关drat
和变量的其余部分。 但是,你要drat
是drat
从柱mtcars
有32个值。
您可以将相关矩阵M
传递给corrplot
函数,但不能corr.test
给corr.test
函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.