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

В R I используйте 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).

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

1 ответ

Решение

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

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

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

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

id_g1 = which(groups == 1)

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

Другие вопросы по тегам