[R-br] Dendrograma com UPGMA e Mahalanobis

Zeni hzeni82 em gmail.com
Terça Junho 21 14:57:25 BRT 2011


Primeiramente obrigado Allaman pela ajuda.
Segundo, desculpe algumas falhas sobre a conduta de postagem aqui na 
lista, como era meu primeiro post eu não me atentei a esses detalhes, 
com o aprendizado eu vou melhorando, novamente peço desculpas à todos.

Allaman, realmente está faltando o clipboard, adicionei a tabela com a 
matriz de mahalanobis no endereço abaixo caso queira reproduzi-lo:
http://www.datafilehost.com/download-d830e51c.html

Esqueci de citar na mensagem anterior que a versão que eu uso do R é a 
2.11.1

Peço, se cometer muitos erros, que tenham paciência com quem está 
aprendendo agora o R, ok?

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")
#Abrir agora o arquivo disponibilizado na pagina fornecida para o uso do 
comando clipboard #
soca35 <- matrix(scan(file="clipboard",sep="\t"),ncol=66)
# Aqui eu não consegui Mahalanobis, coloquei distância euclidiana para 
dar continuidade somente#
x=dist(soca35,method="euclidean")
hc=hclust(x,method="average")
(dend1=as.dendrogram(hc))
plot(dend1,horiz=TRUE,edge.root=TRUE)
abline(v=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 3 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 indo até 160 pelo menos;
3º não consegui usar Mahalanobis, tive que usar Euclidiana para dar 
prosseguimento na análise

A outra linha de comando seria:

require(cluster)
#Abrir agora o arquivo disponibilizado na pagina fornecida para o uso do 
comando clipboard #
soca35=matrix(scan(file="clipboard",sep="\t"),ncol=66)
is.matrix(soca35)
sc=agnes(soca35,method="average",metric="mahalanobis",stand=FALSE)
#Clones#
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")
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: Aqui é o inverso do primeiro caso:
1º) Quando consigo 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 no comando 
agnes(), pois como não acusa erro, se retirar o metric="mahalanobis" 
também funciona, gerando o mesmo resultado, por default deve ser Euclidiana.

Reiterando no email passado, 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.

Allaman, fazendo o download do arquivo de dados, as linhas de comando 
estão todas reproduzíveis, espero que estejam em CMR também, ok?

Alguma sugestão para a minha dúvida?

Abraços

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


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