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