[R-br] Dendrograma com UPGMA e Mahalanobis

Zeni hzeni82 em gmail.com
Terça Junho 21 00:47:50 BRT 2011


Pessoal, boa noite!
Vou repassar na íntegra a minha dúvida que postei no R_STAT (grupo do 
yahoo) aqui no r-br.

Estou tentando desenvolver um cluster e tenho duas linhas de comando 
distintas, vou tentar explicar o cenário:

- Já tenho a matriz de distância de Mahalanobis (matriz de similaridade) 
e que no caso não está padronizada;
- Preciso fazer o método de ligação UPGMA;

A primeira linha de comando está abaixo:

require(graphics)
require(utils)
clones=c("RB92579","RB768647","Q124","RB75126","RB925211","RB835486","RB946022",
"RB912825","SP80-3280","RB855511","RB867515","SP83-5073","RB72454","SP80-1816",
"RB825336","RB855156","RB855536","SP83-2847","RB855453","TUC77-42","SP70-2233",
"RB931555","RB835054","RB855206","RB925345","RB8317","RB947501","RB93509",
"RB813804","RB855113","RB83102","SP77-5181","RB845257","RB855046","RB845197",
"RB835089","RB8495","RB825548","RB855463","RB925453","RB855595","RB945951",
"RB946903","RB855035","RB92606","RB735200","RB945961","SP70-1143","RB855036",
"IAC87-3396","CO62175","RB956911","TUC71-7","RB9350","RB966928","RB912850",
"RB845210","L60-14","SP81-3250","RB928064","RB721012","SP79-1011","SP801842",
"IAC52-326","RB935915","RB806043")
soca35=matrix(scan(file="clipboard",sep="\t"),ncol=66) # Esse daqui 
pessoal é da onde eu copio e colo minha matriz de Mahalanobis do Excel #
x=dist(soca35,method="euclidean") #Não conseguir Mahalanobis#
hc=hclust(x,method="average")
(dend1=as.dendrogram(hc))
plot(dend1,horiz=TRUE,edge.root=TRUE)
abline(h=96.45,col="brown",lwd=2,lty=2) # esse número 96.45 é segundo um 
coeficiente de Mojita que me aconselha onde deve ser cortar o cluster #

São dois problemas nessa linha: 1º eu não consigo colocar o vetor com os 
nomes dos clones nos respectivos números no dendrograma;
2º a escala da distância está terminando em 150 e deveria estar um pouco 
mais estendida, talvez indo até 170;
3º não consegui usar Mahalanobis, tive que usar Euclidiana para dar 
procedimento

A segunda linha de comando:

library(cluster)
soca35=matrix(scan(file="clipboard",sep="\t"),ncol=82)
is.matrix(soca35)
sc=agnes(soca35,method="average",metric="mahalanobis",stand=FALSE)
#Cultivares
cultivares=c("RB925211","SP70-1143","RB91537","SP91-1049","RB943339","RB971537",
"RB72454","RB855511","RB855156","RB835486","IAC86-2210","RB912695","RB945065",
"RB945962","RB947532","RB936001","RB965586","RB931604","RB957751","SP85-3877",
"RB961005","RB966920","SP89-1115","Laica98-208","RB855035","SP80-3280",
"RB947501","RB835089","RB872552","CO434","RB946915","IAC87-3396","RB855063",
"RB9620","RB961530","SP70-1284","SP80-1842","RB83102","RB855563","RB855536",
"RB945961","RB945956","IAC93-7009","H83-9998","RB9557","RB896342","RB961527",
"RB961539","SP71-6949","SP83-2847","RB946022","RB957712","RB945954","CB45-155",
"L60-14","RB951015","RB867515","RB9364","RB93522","RB957689","RB92606",
"RB971551","RB71114","RB962002","RB965921","RB855127","RB915124","RB935860",
"RB941531","RB915141","RB735200","RB965911","RB855322","RB855206","RB945964",
"RB92508","RB863129","RB925345","RB957610","RB956911","CO775","RB739735")
dendro=as.dendrogram(as.hclust(sc))
pltree(sc,labels=clones,ylab="Distância",main="Dendograma ... ")
abline(h=96.45,col="brown",lwd=2,lty=2)

Problemas: 1º Quando consegui colocar o nome das indivíduos, no comando 
pltree não consigo deixar na horizontal como no primeiro exemplo;
2º Desconfio que não esteja usando a matriz de Mahalanobis, pois como 
não acusa erro, se retirar o metric="mahalanobis" também funciona, 
gerando o mesmo resultado

Se pudesse exemplificar todo o meu dilema, gostaria de encontrar um 
gráfico como no trabalho abaixo (Figura 2):
http://www.plosntds.org/article/info%3Adoi%2F10.1371%2Fjournal.pntd.0000452
No qual ele usa a biblioteca pgirmess, a qual não obtive muito sucesso, 
como no comando pvclust() também não.

Alguém poderia me ajudar?

Abraços

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110621/f99d27ee/attachment.html>


Mais detalhes sobre a lista de discussão R-br