#r #dendrogram #hclust
#r #дендрограмма #hclust
Вопрос:
У меня есть список объектов hclust, полученных в результате незначительных изменений в одной переменной (для вычисления матрицы расстояний)
- теперь я хотел бы создать консенсусное дерево из этого списка.
Существует ли универсальный пакет для этого? Я пробиваюсь через некоторый код из maanova, и, кажется, это работает — но это некрасиво и требует большого взлома, поскольку я не выполняю «обычную» начальную загрузку (это химические данные).
/Palle Villesen, Denmark
c1_list <- seq(10,100,by=10)
c2 <- 30
e<- 1
mboot <- list()
for (i in 1: length(c1_list) ) {
c1 <- c1_list[i]
cat("Doing C1=",c1,"...")
x <- hclust(custom_euclidean(t(log2(data[, all] 1)), c1,c2,e), method='average')
cat("..donen")
mboot[[i]] <- x # To get hclust object back use mbot[[i]] to get i'th object
}
#### Now extract the robust groups from mboot...
Ответ №1:
Сначала взгляните на код Аллана Такера для консенсусной кластеризации, связанный с его статьей «Консенсусная кластеризация и функциональная интерпретация данных экспрессии генов».
Вот несколько других указателей:
- Вы упомянули, что используете пакет maanova; это позволяет построить консенсусное дерево из результата кластера начальной загрузки с помощью
consensus()
функции. Вы пробовали это? - Пакет ape предназначен для анализа филогенетического дерева, поэтому, возможно, он не совсем уместен, но вы могли бы изучить его. В R-Help есть пример использования hclust.
- Аналогично, в пакете nem, который является частью bioconductor, есть несколько примеров.
Комментарии:
1. Большое спасибо, это похоже на то, что я ищу. И да — я видел функцию consensus(), но мне нужно было создать правильный объект из нескольких объектов hclust ( некоторые дополнительные материалы)… Также это создает сжатую дендрограмму, где я хочу пропорции «начальной загрузки»… Вот почему я искал более простую функцию, которая просто сравнивает n объектов hclust и создает какой-то консенсус…
Ответ №2:
Хм, это звучит как ускоряющий подход, применяемый к кластеризации, и быстрый поиск в Google показывает довольно существующую литературу по ускорению кластеризации. Может быть, это начало?
Что касается R-кода, всегда существуют представления задач по кластеризации и машинному обучению.