Как отобразить матрицу корреляции в процентах - PullRequest
1 голос
/ 27 марта 2019

Я пытаюсь отображать метки корреляции в процентах вместо того, чтобы отображать их между числами -1 и 1. Я смог сделать это с помощью пакета ggcorrplot, однако это лишило возможности отображать их с цветовой палитры и отображать его только с серыми ячейками цветов. Вот как это выглядит

enter image description here

Мне удалось сделать это с помощью пакета ggcorrplot, однако это лишило возможности отображать их с помощью цветовой палитры.

#if(!require(devtools)) install.packages("devtools")
#devtools::install_github("kassambara/ggcorrplot")
library(ggcorrplot)
corr <- round(cor(test3),3)
corr <- corr * 100
ggcorrplot(corr, hc.order = TRUE, type = "lower",
           lab = TRUE, colors = c("blue", "white", "red"))

Есть ли способ получить результаты в процентах и ​​при этом иметь цвета, которые мы обычно имеем на графике корреляционной матрицы. Также можно добавить процент к меткам, так как в данный момент отображается только число.

Заранее большое спасибо !!

1 Ответ

3 голосов
/ 27 марта 2019
corr <- round(cor(mtcars)^2,3)
corr <- corr * 100

diag(corr) = NA
corr[upper.tri(corr)] = NA

library(reshape2)
d = melt(corr)
d = d[!is.na(d$value),]

library(ggplot2)
ggplot(d, aes(x = Var1,
              y = Var2,
              fill = value,
              label = ifelse(is.na(value), "", paste0(value,"%")))) +
    geom_tile(color = "white") +
    scale_fill_gradientn(colors = c("green", "white", "red"), na.value = NA) +
    geom_text() +
    theme_bw()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...