Консенсусное дерево или “пропорции начальной загрузки” из нескольких объектов hclust
-
10-07-2019 - |
Вопрос
У меня есть список объектов 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("..done\n")
mboot[[i]] <- x # To get hclust object back use mbot[[i]] to get i'th object
}
#### Now extract the robust groups from mboot...
Решение
Во-первых, взгляните на Код Аллана Такера для консенсусной кластеризации, связанный с его статьей "Согласованная кластеризация и функциональная интерпретация данных об экспрессии генов".
Вот несколько других указаний:
- Вы упомянули, что используете посылка от maanova;это позволяет построить консенсусное дерево из результата кластера начальной загрузки с помощью
consensus()
функция.Вы пробовали это? - В пакет ape предназначен для анализа филогенетического дерева, так что, возможно, он не совсем релевантен, но вы могли бы им заняться.Есть пример использования hclust в R-Help.
- Аналогичным образом, пакет nem, который является частью биокондуктора имеет несколько примеров.
Другие советы
Хм, это звучит как ускоряющий подход, применяемый к кластеризации, и быстрый поиск в Google показывает довольно существующую литературу по стимулирование кластеризации.Может быть, это и есть начало?
Что касается R-кода, то всегда есть представления задач на Кластеризация и Машинное обучение.