首页 > 解决方案 > Corrplot.mixed 图(数字和平方一起)

问题描述

试图将系数值(下角)和显着性(上角)放在一起

尝试使用 corrplot.mixed 但做错了

library(corrplot)
library(Hmisc)
mydata <- read.csv("HiBAPPaperv2_Corre.csv")
mydata.cor = cor(mydata, method = "pearson")
mydatrou= round(mydata.cor, 2)
H1517 <- cor(mydatrou)
#corrplot(H1517, method = "circle")
H1517_2 <- rcorr(as.matrix(mydata))
# Extract the correlation coefficients
H1517_2$r
# Extract p-values
H1517_2$P
## add all p-values
col1 <- colorRampPalette(c("#7F0000", "red", "#FF7F00", "yellow", "white",
                       "#00ff11", "#007FFF", "blue", "#00007F"))
col2 <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", "#F4A582",
                       "#FDDBC7", "#FFFFFF", "#D1E5F0", "#92C5DE",
                       "#4393C3", "#2166AC", "#053061"))
col3 <- colorRampPalette(c("red", "white", "blue")) 
col4 <- colorRampPalette(c("#7F0000", "red", "#FF7F00", "yellow", "#7FFF7F",
                       "#00ff11", "#007FFF", "blue", "#00007F"))
whiteblack <- c("white", "black")

## using these color spectra
corrplot.mixed(H1517, upper = "square", p.mat = H1517_2$P, insig =         "label_sig", addrect = 3,col = col4(10), sig.level = c(.001, .01, .05), pch.cex = 1,
           lower = "number", tl.pos = "lt", tl.col = "black", tl.offset=1, tl.srt = 0)

由于以下原因无法绘图:corrplot 中的错误(corr,type = "upper",method = upper,diag = TRUE,tl.pos = tl.pos,:形式参数 "col" 与多个实际参数匹配

标签: rmatrixcorrelationr-corrplothmisc

解决方案


如果您想要下部和上部组件的一组颜色,则需要将lower.col和设置upper.col为相同的值。

使用来自的数据?corrplot.mixed

 M <- cor(mtcars)
 ord <- corrMatOrder(M, order = "AOE")
 M2 <- M[ord,ord]

corrplot.mixed(M2, col=rainbow(5))复制你的错误。

corrplot.mixed(M2,lower.col=rainbow(5), upper.col=rainbow(5))

似乎有效(尽管我不推荐这些颜色!)


推荐阅读