繁体   English   中英

一个变量组合有两个不同的p值? corrplot :: corrplot

[英]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和变量的其余部分。 但是,你要dratdrat从柱mtcars有32个值。

您可以将相关矩阵M传递给corrplot函数,但不能corr.testcorr.test函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM