2013-12-08 3 views
1

Как только вы создаете карту тепла с использованием функции «heatmap()» в R, есть ли способ сосредоточиться и извлечь элементы определенного кластера?Получить имена конкретных членов кластеров функции heatmap() R

У меня есть карта тепла 4500 x 420 членов, и это было бы полезно.

Спасибо.

ответ

2

Укажите keep.dendro = TRUE и у вас должны быть доступные данные под элементами списка Rowv и Colv.

Это слегка измененный пример от ?heatmap.

require(graphics); require(grDevices) 
x <- as.matrix(mtcars) 
rc <- rainbow(nrow(x), start = 0, end = .3) 
cc <- rainbow(ncol(x), start = 0, end = .3) 
hv <- heatmap(x, col = cm.colors(256), scale = "column", 
       RowSideColors = rc, ColSideColors = cc, margins = c(5,10), 
       xlab = "specification variables", ylab = "Car Models", 
       main = "heatmap(<Mtcars data>, ..., scale = \"column\")", 
       keep.dendro = TRUE) 

hv$Rowv 
'dendrogram' with 2 branches and 32 members total, at height 425.3447 

EDIT

Если вы хотите членов группы, вам нужно вырезать дерево первой.

cutree(as.hclust(hv$Rowv), h = 200) 

      Mazda RX4  Mazda RX4 Wag   Datsun 710  Hornet 4 Drive Hornet Sportabout    Valiant 
        1     1     1     2     3     2 
     Duster 360   Merc 240D   Merc 230   Merc 280   Merc 280C   Merc 450SE 
        3     1     1     1     1     2 
     Merc 450SL   Merc 450SLC Cadillac Fleetwood Lincoln Continental Chrysler Imperial   Fiat 128 
        2     2     3     3     3     1 
     Honda Civic  Toyota Corolla  Toyota Corona Dodge Challenger   AMC Javelin   Camaro Z28 
        1     1     1     2     2     3 
    Pontiac Firebird   Fiat X1-9  Porsche 914-2  Lotus Europa  Ford Pantera L  Ferrari Dino 
        3     1     1     1     3     1 
     Maserati Bora   Volvo 142E 
        4     1 
+0

До сих пор так хорошо. Но как я могу извлечь конкретные имена этих членов? –

+1

@TomA См. Мой ответ. –

Смежные вопросы