Rheatmap.2 (gplots) доступ к данным дендрограммы

В R я использую Heatmap.2 (из пакета gplots) для кластеризации и визуализации некоторых данных.

Я хотел бы получить доступ к дендрограмме столбца (кластерам) для дальнейшей обработки моих данных.

Например:

x = matrix(runif(250), nrow= 50) h = heatmap.2(x)

h$colDendrogram 
'dendrogram' with 2 branches and 5 members total, at height 3.033438

Есть ли способ узнать индексы столбца, принадлежащего первой ветви, и индексы, принадлежащие второй (автоматически; конечно, в этом простом случае я мог бы просто посмотреть на метки на оси x).

Далее, как я могу получить доступ к другим подветвям?


person lucacerone    schedule 10.01.2014    source источник


Ответы (1)


Можно использовать функцию as.hclust() и обрабатывать результирующий объект, как если бы он был объектом R hclust.

Для конкретного случая, представленного в вопросе, вот как получить доступ к дендрограмме столбца:

colhclust = as.hclust(h$colDendrogram)
groups = cutree(cl,2)

groups — вектор, содержащий группу каждого столбца;

id_g1 = which(groups == 1)

содержит индексы элементов, принадлежащих первой ветви.

person lucacerone    schedule 15.01.2014