Установите кластеризацию тепловой карты по заданным пользователем критериям в R - PullRequest
0 голосов
/ 08 июля 2020

У меня есть такая матрица:

> dput(df2)
structure(c(2, 2, 1, 2, 4, 0.5, 0.3, 6, 4, 3, 2, 1, 2, 0.7, 0.5, 
4, 6, 4, 4, 3, 1, 0.9, 0.7, 2, 3, 5, 6, 2, 0.5, 1, 0.9, 1), .Dim = c(8L, 
4L), .Dimnames = list(c("gene1", "gene2", "gene3", "gene4", "gene5", 
"gene6", "gene7", "gene8"), c("t0h", "t1h", "t2h", "t4h")))

Я использую тепловую карту для измерения изменения уровня экспрессии генов во время лечения: t0h, t1h, t2h, t4h. Следуя руководствам ComplexHeatmap (также пробовал другие версии тепловой карты), я получаю тепловую карту:

library(ComplexHeatmap)
Heatmap(df2, column_order = colnames(df2), column_title = " Time after treatment")

введите описание изображения здесь Но из выходных данных я вижу, что кластеризация выполняется на основе абсолютного значения генов. Я хочу сгруппировать гены по их тенденциям после лечения, например: полностью уменьшаться, полностью увеличиваться после лечения и т. Д. c. В этой тепловой карте я хочу, чтобы ген 2/3/6/7 был сгруппирован вместе, а ген 5 и ген 8 вместе. Я прочитал некоторые методы кластеризации в руководстве, похоже, все эти методы связаны с какой-то статистической / вычислительной моделью, которую трудно применить в моем случае. Интересно, есть ли способ сделать это так, как я хотел бы построить?

Спасибо,

...