Как отобразить матрицу корреляции в процентах
Я пытаюсь отобразить метки корреляции в процентах вместо того, чтобы отображать их между числами -1 и 1. Я смог сделать это с помощью пакета ggcorrplot
Однако выполнение этого лишило возможности отображать их с помощью цветовой палитры и отображать ее только с серыми ячейками цветов. Вот так это выглядит
Я смог сделать это с помощью пакета 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 ответ
Решение
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()