R тепловая карта: показывать значения с высоким уровнем выражения вверху

Тепловая карта с высокими значениями выражений внизу

Я новичок в Rstudio, и я пытаюсь создать тепловую карту, используя функцию heatmaply в r, но на некоторых тепловых картах (с разными данными) высокие значения выражения (красным цветом) отображаются сверху, а с другим набором данных высокие значения значения выражений отображаются внизу, а низкие значения выражений вверху, как на изображении.

Я использую один и тот же код для разных наборов данных

heatmaply(Heatmap_DEXFORM, dendrogram = "row", scale_fill_gradient_fun = scale_fill_gradient2(low="blue",high="red", midpoint=0,limits=c(-4,6))

Это результат того, как формируются мои данные? Есть ли команда, с помощью которой я могу перевернуть тепловую карту, чтобы высокие значения выражений отображались сверху, как на других моих тепловых картах?

Заранее спасибо!


person Lindsay98m    schedule 13.06.2019    source источник
comment
Вам нужно будет создать дендрограмму самостоятельно, а затем предоставить ее с помощью аргумента Rowv.   -  person Tal Galili    schedule 14.06.2019


Ответы (1)


тепловые карты обычно упорядочиваются на основе иерархической кластеризации, а не величины значений. Чтобы упорядочить данные по величине (высоко вверху или наоборот), вам нужно будет предоставить дендрограмму (как предложил Таль) или вручную изменить порядок ваших данных (например, на основе сумм строк или средних значений строк (или сумм столбцов / означает)).

См. Пример игрушки ниже.

mat <- scale(mtcars)
heatmaply(mat, dend = "none")
heatmaply(mat[order(rowSums(mat)), ], dend = "none")
person alan ocallaghan    schedule 12.07.2019