[英]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.