Маркировка имен строк в виде имен листовых узлов в дендрограмме в R

Я пытаюсь пометить свою дендрограмму, используя назначенные имена строк из моего набора данных.

Я использую пакет: hybridHclust со следующим кодом.

Образец таблицы (НАБОР ДАННЫХ, надеюсь, я использую правильный формат)

  UID Condition1 Condition2 Condition3
1 Gene1 0.46 0.47 -0.02
2 Gene2 0.8 0.93 0.08
3 Gene3 0.45 0.89 1.04

DATASET_1 <- DATASET[,-1] # removes UID column which is not needed
  Gene Condition1 Condition2 Condition3

Теперь я удалил столбец UID, который необходим для исходного листа Excel, но не для кластерного анализа:

  Condition1 Condition2 Condition3
1 0.46 0.47 -0.02
2 0.8 0.93 0.08
3 0.45 0.89 1.04

DATASETMatrix <- as.matrix.data.frame(DATASET_2) # converts df to matrix
DATASETMatrix_R <- t(DATASETMatrix) #flips along diagonal for clustering

Теперь стол

             v1 v2 v3
Condition1 0.46 0.8 0.45
Condition2 0.47 0.93 0.89
Condition3 -0.02 0.08 1.04

А обозначения номеров строк (1, 2, 3) исчезли в R studio и заменены перечисленными условиями.

DATASETClust <- as.dendrogram((eisenCluster(DATASETMatrix_R, method = "uncentered.correlation",
                                        compatible = TRUE)), hang = -0.1) #uses uncentered Pearson correlation which is not present in hclust

library(dendextend)
DATASETClust %>% set("labels_cex", 0.25) %>% 
plot(horiz = T) # got his from somewhere online

введите описание изображения здесь Когда я запускаю это, я получаю номера строк в качестве меток на моей дендрограмме, но мне нужны имена строк (Conition1, Condition2, Condition3), и они должны соответствовать своим данным. (не должно быть только в числовом порядке). Это может быть не так уж плохо, но в моем фактическом наборе данных сравнивается более 400 условий с более чем 4000 переменных в каждом, и список будет продолжать расти, поэтому ввод имен вручную невозможен.

Спасибо всем, и я приветствую обратную связь по любым вопросам форматирования при размещении на этом сайте.


person JWilli3    schedule 21.08.2017    source источник


Ответы (1)


Вы можете изменить метки (имена) DATASETClust (объект класса dendrogram) с помощью пакета dendextend.

См. пример использования здесь

person EugenR    schedule 21.08.2017