As técnicas de agrupamento (cluster analysis) são muito úteis para organizar, ou classificar, dados observados em estruturas de fácil interpretação. Uma ótima referência é o livro Numerical Ecology with R (Boccard et al. 2011). O tuturial do pacote vegan (clique aqui) também trás explicações e exemplos interessantes. Os dendrogramas são como mobiles, seus grupos são sempre os mesmos, mas podem mudar de posição. O grupo 1 não é necessariamente o primeiro à esquerda, nem o grupo 2 vem a seguir. Isto pode complicar na hora de interpretar os fatores relacionados na formação dos grupos. Um bom exemplo está na página 38 do tutorial do vegan. Temos a figura de um dendrograma seguida de um boxplot. Se não prestarmos atenção poderemos ser levados a crer, por exemplo, que o grupo 2, onde encontramos a maior mediada é formado pelos objetos 1, 2, 10, 5, 6 e 7. No entanto, este conjunto de objetos forma o grupo 1, como veremos a seguir, que tem a menor mediana. A interpretação do dendrograma poder ser facilitada se o número do grupo puder ser visualizado em conjunto. Vamos ao exemplo do tutorial
# carrega a biblioteca e os dados
library(vegan)
data(dune)
# calcula a matriz de distância, as ligações, plota o dendrograma e identifica os grupos
dis <- vegdist(dune)
cluc <- hclust(dis, "complete")
plot(cluc)
rect.hclust(cluc, 3)
# verifica que objetos foram classificados em cada grupo
grp<-cutree(cluc, 3)
grp
# substitui no dendrograma o nome do objeto pelo número do grupo
plot(cluc, labels = as.character(grp))
# desenha no dendrograma os retângulos de cada grupo e os numera
# agradeço a dica de Elias T. Krainski (lista R-Br) plot(cluc)
r <- rect.hclust(cluc, 3)
text(cumsum(sapply(r,length)),
rep(mean(tail(unique(cluc$hei),2)), length(r)),
paste(unique(grp[cluc$ord])))
Agora fica mais fácil relacionar o dendrograma ao boxplot no tutorial do vegan.