Вытащите гены/наблюдения из групп cutree_rows в тепловую карту.

Как можно извлечь гены/наблюдения из групп строк, сгенерированных из cutree_rows = 3 в pheatmap? будет obj$tree_row$...?

obj <- pheatmap(mat, annotation_col = anno, fontsize_row = 10, show_colnames = F, show_rownames = F, cutree_cols = 3, cluster_cols = FALSE, color = col, scale = 'row',cutree_rows = 3)

Я видел, что вы можете найти список генов, если примените k средств, запустив obj$kmeans$cluster, как здесь есть ли способ сохранить кластеризацию в тепловой карте, но уменьшить количество наблюдений?


person Ecg    schedule 16.12.2020    source источник


Ответы (1)


Можно просто еще раз на нем сделать cutree, вот например данные такие:

set.seed(2020)
mat = matrix(rnorm(200),20,10)
rownames(mat) = paste0("g",1:20)
obj = pheatmap(mat,cluster_cols = FALSE, scale = 'row',cutree_rows = 3)

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

Сделай катри:

cl = cutree(obj$tree_row,3)

ann = data.frame(cl)
rownames(ann) = rownames(mat)

ann
    cl
g1   1
g2   2
g3   1
g4   2
g5   3
g6   1
g7   2
g8   1
g9   1
g10  2
g11  3
g12  2
g13  2
g14  1
g15  2
g16  2
g17  1
g18  3
g19  3
g20  2

Мы строим это снова, чтобы убедиться, что это правильно,

pheatmap(mat,cluster_cols = FALSE, scale = 'row',cutree_rows = 3,annotation_row=ann)

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

person StupidWolf    schedule 17.12.2020
comment
Идеальный! Именно то, что я хотел, спасибо @StupidWolf :) - person Ecg; 17.12.2020
comment
пожалуйста :) - person StupidWolf; 17.12.2020