簡體   English   中英

如何按組為corrplot的背景着色?

[英]How to color the background of a corrplot by group?

考慮這個數據,我們有幾個組,每個組有 10 個觀察值,我們執行pairwise.t.test()

set.seed(123)
data <- data.frame(group = rep(letters[1:18], each = 10),
                   var = rnorm(180, mean = 2, sd = 5))
ttres <- pairwise.t.test(x=data$var, g=data$group, p.adjust.method = "none")#just to make sure i get some sigs for the example

現在讓我們獲取 p 值的矩陣,將它們轉換為顯示顯着和非顯着值的二進制矩陣,並使用corrplot()對它們進行 plot ,這樣我們就可以看到哪些組是不同的:

library(corrplot)
pmat <- as.matrix(ttres$p.value)
pmat<-round(pmat,2)
pmat <- +(pmat <= 0.1)
pmat
corrplot(pmat, insig = "blank", type = "lower")

在此處輸入圖像描述

有誰知道根據分組 label 為每個正方形的背景着色的方法? 例如,假設我們希望組a:g的正方形為黃色,組h:n的正方形為藍色,組o:r的正方形為紅色。 還是有另一種方法可以用ggplot做到這一點?

您可以通過bg=參數傳遞背景向量 colors。 訣竅只是確保它們的順序正確。 這就是這樣做的方式

bgcolors <- matrix("white", nrow(pmat), ncol(pmat),dimnames = dimnames(pmat))
bgcolors[1:6, ] <- "yellow"
bgcolors[7:15, ] <- "blue"
bgcolors[14:17, ] <- "red"
bgcolors <- bgcolors[lower.tri(bgcolors, diag=TRUE)]
corrplot(pmat, insig = "blank", type = "lower", bg=bgcolors)

在此處輸入圖像描述

基本上我們只是制作一個與輸入相同形狀的矩陣,然后我們為不同的行設置我們想要的 colors,然后我們將該矩陣的下三角形傳遞給 function。

暫無
暫無

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

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