2016-11-07 3 views
0

У меня есть Heatmap, который выглядит, как это в R:Heatmap дендрограммы на основе корреляции в R

col<- colorRampPalette(c("red","white", "blue"))(10) 
library("gplots") 
heatmap.2(qq,scale="none",col=col,trace="none",density.info="none",dendrogram="column") 

enter image description here

Но тогда я сделал отдельный кластерный анализ на основе корреляции, который вышел, как это :

library(Hmisc) 
plot(varclus(qq,similarity="spearman")) 

enter image description here

Как может Я изменяю свою тепловую карту так, чтобы кластеризация была идентична кластерному анализу, который я сделал с корреляцией? Мне нужно каким-то образом изменить функцию heatmap.2 (или, возможно, использовать другую функцию), которая будет основана на корреляции pearson. Есть идеи?

+1

делает добавление 'distfun = функция (х) as.dist (1 - Кор (Т (х), method = 'sp')^2) 'к вашему' heatmap.2' get it> – rawr

ответ

0

Попытка

col<- colorRampPalette(c("red","white", "blue"))(10) 
library("gplots") 

library(Hmisc) 
v <- varclus(qq,similarity="spearman") 

devtools::install_github('talgalili/dendextend') 
library(dendextend) 

dend <- as.dendrogram(v) # comes from dendextend. The same as as.dendrogram(v$hclust) 

heatmap.2(qq,scale="none",col=col,trace="none",density.info="none",dendrogram="column", Colv = dend) 

(с кв.кв не существует, я не могу воспроизвести изображение)

Смежные вопросы