Dendrogram with Corrplot (R)

时间:2016-10-24 22:01:59

标签: r dendrogram dendextend r-corrplot heatmaply

Does anyone have a method to adorn an R corrplot correlation plot with a dendrogram?

2 个答案:

答案 0 :(得分:2)

我所知道的最接近的解决方案是在相关矩阵上使用热图,例如你也可以使用gplots :: heatmap.2。

以下是使用heatmaply R软件包的方法,该软件包还提供了一个交互式界面,您可以在鼠标悬停在单元格上时放大并获取工具提示:

# for the first time:
# install.packages("heatmaply")

library(heatmaply)
my_cor <- cor(mtcars)
heatmaply_cor(my_cor)

以下是它的外观:

enter image description here

您可以在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创建