R - corrplot - ищет способ визуально различать группы столбцов
Следующий код:
Dat = read.table(text="varA1 varA2 varA3 varB1 varB2 varC1 varC2 varC3
.01 .01 .35 .05 .06 .01 .01 .25
.02 .21 .31 .34 .06 .04 .01 .35
.01 .03 .35 .05 .03 .05 .31 .33
.45 .01 .32 .08 .26 .11 .04 .35
.01 .01 .35 .05 .03 .01 .33 .25",
header=TRUE)
library(corrplot)
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45)
Создает этот сюжет:
Можно ли обновить код, чтобы выделить тот факт, что у меня есть три группы переменных, а именно
- varA1, varA2, varA3
- varB1, varB2
- varC1, varC2, varC3
Так что либо поместив прямоугольник вокруг всех трех (аналогично параметру hclust в corrplot, который, к сожалению, не позволяет настраивать прямоугольники), как я это сделал здесь, используя paint:
Или, возможно, печатая заголовки в трех разных цветах, или каким-либо другим способом, которым я мог бы визуально различить три группы переменных? Любые советы приветствуются, большое спасибо!
1 ответ
Решение
Вы можете просто использовать segments
рисовать в границах.
segments(c(0.5,3.5,5.5,8.5), rep(0.5,4),
c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3)
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3)
ИЛИ вы можете наметить и заполнить фон разными цветами
ColorScheme = c("#FFEEEE", "#EEFFEE", "#EEEEFF")
Groups = c(rep(1,15), rep(2,10), rep(3, 15))
corrplot(as.matrix(Dat), is.corr=FALSE, tl.srt=45, bg=ColorScheme[Groups])
segments(c(0.5,3.5,5.5,8.5), rep(0.5,4),
c(0.5,3.5,5.5,8.5), rep(5.5,4), lwd=3)
segments(c(0.5, 0.5), c(0.5, 5.5), c(8.5, 8.5), c(0.5,5.5), lwd=3)