Does anyone have a method to adorn an R corrplot
correlation plot with a dendrogram?
答案 0 :(得分:2)
我所知道的最接近的解决方案是在相关矩阵上使用热图,例如你也可以使用gplots :: heatmap.2。
以下是使用heatmaply R软件包的方法,该软件包还提供了一个交互式界面,您可以在鼠标悬停在单元格上时放大并获取工具提示:
# for the first time:
# install.packages("heatmaply")
library(heatmaply)
my_cor <- cor(mtcars)
heatmaply_cor(my_cor)
以下是它的外观:
您可以在this vignette中了解有关热图的更多信息。
答案 1 :(得分:1)
heatmaply实际上从2017年12月左右开始引入了此功能!请参见下面的示例,该示例摘自即将发布的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")
)
由reprex package(v0.3.0)于2019-11-08创建