簡體   English   中英

在corrplot矩陣中添加p值

[英]Add p-values in corrplot matrix

我計算了兩個矩陣之間的Spearman相關性,並使用corrplot繪制了r值。 我如何僅繪制顯着的相關性(因此,即使p值小於0.00的那些相關性,即使是強相關性-r的高值,也僅刪除那些具有較高p值的相關性)。 我在psych軟件包中使用corr.test生成了相關矩陣,所以我在cor.matrix$p已經有了p值

這是我正在使用的代碼:

library(corrplot)
library(psych)
corr.test(mydata_t1, mydata_t2, method="spearman")
M <- corrplot(cor.matrix$r, method="square",type="lower",col=col1(100),is.corr=T,mar=c(1,1,1,1),tl.cex=0.5)

如何修改它以僅顯示重要的關聯?

看一下corrplot的示例。 ?corrplot 它具有執行所需功能的選項。 您可以在圖表本身上繪制p值,我認為這比放星星好,因為不熟悉該術語的人還有更多需要查找的內容。 將p值放在圖上,請執行以下corrplot(cor.matrix$r, p.mat = cor.matrix$p, insig = "p-value") ,其中cor.matrix是持有cor.test結果的對象。 insig選項可以放入:

  • p值(如上所示)
  • 用corrplot消除無關緊要的相關性(cor.matrix $ r,p.mat = cor.matrix $ p,insig =“空白”)`
  • 使用選項corrplot(cor.matrix$r, p.mat = cor.matrix$p, insig = "pch")在不相關的關系上加上X corrplot(cor.matrix$r, p.mat = cor.matrix$p, insig = "pch") (默認)
  • 使用corrplot(cor.matrix$r, p.mat = cor.matrix$p, insig = "n")對圖不執行任何操作

如果您確實想要星星,請在相關矩陣圖上顯示p值-查看此線程Correlation Corrplot Configuration

雖然我不得不說我真的很喜歡@sven hohenstein的優雅子集解決方案。

創建cor.mat的副本並將相應的相關系數替換為零:

cor.matrix2 <- cor.matrix

# find cells with p-values > 0.05 and replace corresponding
# correlations coefficients with zero
cor.matrix2$r[cor.matrix2$p > 0.05] <- 0

# use this matrix for corrplot
M <- corrplot(cor.matrix2$r, method="square",type="lower",col=col1(100),
              is.corr=T,mar=c(1,1,1,1),tl.cex=0.5)

替換的值將顯示為白色單元格。

您要問的內容類似於subset作用:

返回滿足條件的向量,矩陣或數據幀的子集。

因此,您可以執行以下操作:

cor.matrix <- subset(cor.matrix, p<0.00)
P <- corrplot(cor.matrix$r, method="square",type="lower",col=col1(100),is.corr=T,mar=c(1,1,1,1),tl.cex=0.5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM