У кого-нибудь есть способ украсить корреляцию R corrplot
? участок с дендрограммой?
Дендрограмма с Corrplot (R)
comment
Мне было так грустно, что я не увидел ответов на этот вопрос
- person Sos   schedule 21.03.2017
comment
...2 года спустя, все еще грустно :(
- person Sos   schedule 28.03.2019
comment
@Sosi - если это поднимет вам настроение, я добавил ответ.
- person alan ocallaghan   schedule 08.11.2019
Ответы (2)
Самое близкое известное мне решение — использовать тепловую карту на корреляционной матрице, например, вы также можете использовать gplots::heatmap.2.
Вот как это сделать с помощью пакета R Heatmaply, который также предлагает интерактивный интерфейс, в котором вы можете увеличивать масштаб и получать всплывающую подсказку при наведении курсора на ячейки:
# for the first time:
# install.packages("heatmaply")
library(heatmaply)
my_cor <- cor(mtcars)
heatmaply_cor(my_cor)
Вот как это выглядит:
Вы можете узнать больше о тепловой карте в этой зарисовке.
person
Tal Galili
schedule
03.06.2017
На самом деле эта функция реализована в Heatmaply примерно с декабря 2017 года! См. приведенный ниже пример, взятый из грядущей виньетки v1.0:
library("heatmaply")
r <- cor(mtcars)
## We use this function to calculate a matrix of p-values from correlation tests
## https://stackoverflow.com/a/13112337/4747043
cor.test.p <- function(x){
FUN <- function(x, y) cor.test(x, y)[["p.value"]]
z <- outer(
colnames(x),
colnames(x),
Vectorize(function(i,j) FUN(x[,i], x[,j]))
)
dimnames(z) <- list(colnames(x), colnames(x))
z
}
p <- cor.test.p(mtcars)
heatmaply_cor(
r,
node_type = "scatter",
point_size_mat = -log10(p),
point_size_name = "-log10(p-value)",
label_names = c("x", "y", "Correlation")
)
person
alan ocallaghan
schedule
08.11.2019