Заказ ломтиков в пакете ComplexHeatmap - PullRequest
0 голосов
/ 10 марта 2020

Я использую пакет ComplexHeatmap в R и делю свою тепловую карту на кластеризацию по среднему k (строки и столбцы). Кластеризация для строк работает нормально. Для столбцов я получаю кластер из 4 столбцов (контрольный) и кластер из 8 столбцов (обработанный), что хорошо. Однако для некоторых тепловых карт контрольный слайд находится справа, для некоторых - слева. Я хотел бы заказать их равномерно (контроль слева, справа). Когда я переставляю срезы с помощью функции column_split, я получаю 3 кластера вместо 2. Как я могу это исправить? Заранее спасибо.

Heatmap(mat, name = "mat", border=TRUE, rect_gp =gpar(col="white", lwd=1),
column_km = 2, row_km = 2, row_km_repeats = 100, column_km_repeats = 100,
show_parent_dend_line = FALSE,
column_split = factor(c(rep("A",8),rep("B",4)), levels = c("B","A")))

1 Ответ

0 голосов
/ 11 марта 2020

Хорошо, у меня возникла идея, которая не является прямым решением.

Вместо того, чтобы использовать раздел k-средних по умолчанию, я назначил вектор раздела для column_split.

pa = cluster::pam(t(mat), k = 2)

Heatmap(mat, name = "mat", border=TRUE, rect_gp =gpar(col="white", lwd=1),
row_km = 2, row_km_repeats = 100, show_parent_dend_line = FALSE,
column_split = paste("pam", pa$clustering))

Я бы все равно оценил другие решения.

...