показывает масштаб дендрограммы в R при использовании aheatmap/heatmap2

Как я могу сделать так, чтобы R отображал масштаб дендрограммы (чтобы можно было интерпретировать высоту каждой дендрограммы) вместе с тепловой картой при вызове пакета NMF aheatmap или heatmap.2? Эти дендрограммы показывают масштаб: http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html Это поведение по умолчанию при выполнении plot(hclust(...)), и я хотел бы подражать этому, но не знаю, как это сделать с помощью функций heatmap.


person Community    schedule 17.03.2014    source источник


Ответы (1)


Проблема здесь в том, как heatmap.2 отображает объект dendrogram. heatmap.2 использует код plot(ddr, horiz = TRUE, axes = TRUE, yaxs = "i", leaflab = "none"), где ddr — дендрограмма. Вы хотите, чтобы аргумент axes был равен FALSE. В качестве обходного пути я создал модифицированную версию функции heatmap.2. См. ?plot.dendrogram для получения дополнительной информации.

x = matrix( rnorm(25), ncol=5 )
f = gplots:::heatmap.2

# Edit the appropriate lines of the heatmap.2 function
print(body(f)[[75]]) # The line to edit
# if (dendrogram %in% c("both", "row")) {
#   plot(ddr, horiz = TRUE, axes = FALSE, yaxs = "i", leaflab = "none")
# } else plot.new()
body(f)[[75]][[3]][[2]][[4]] = TRUE

print(body(f)[[77]])
# if (dendrogram %in% c("both", "column")) {
#   plot(ddc, axes = FALSE, xaxs = "i", leaflab = "none")
# } else plot.new()
body(f)[[77]][[3]][[2]][[3]] = TRUE

f(x)

введите здесь описание изображения

person kdauria    schedule 18.03.2014