Boa Tarde Hugo,

 

     Certa vez precisei fazer o mesmo (calclular a matriz de distâncias de Mahalanobis e após fazer o dendrograma) e o Walmes me passou o seguinte post que me ajudou muito,

 

D2Mah <- function(y, x){
  stopifnot(is.data.frame(y), !missing(x))
  stopifnot(dim(y)[1] != dim(x)[1])
  y <- as.matrix(y)
  x <- as.factor(x)
  man <- manova(y ~ x)
  E <- summary(man)$SS[2]
  #Matrix E
  S <- as.matrix(E$Residuals)/man$df.residual
  InvS <- solve(S)
  mds <- matrix(unlist(by(y, x, mean)), byrow=T, ncol=ncol(y))
  f <- function(a,b) mapply(function(a,b) mahalanobis(mds[a,], mds[b,], InvS, TRUE), a, b)
  seq. <- seq(length = nrow(mds))
  names(seq.) <- levels(x)
  D2 <- outer(seq., seq., f)
}

# # test # #
D2M <- D2Mah(iris[,1:4], iris[,5])
print(D2M)
dend <- hclust(as.dist(sqrt(D2M)), method='complete')
plot(dend)

Veja se é isso mesmo que você procura. As fontes de consulta estão abaixo:
http://r-project.markmail.org/message/ybhsyzshjzhuktsn?q=hclust+mahalanobis
http://r-project.markmail.org/message/tml5eqm4v4grzp25?q=hclust+mahalanobis

Abraço,

 

Alexandre dos Santos

Ingenieur forestier, Msc.

INRA- Biostatistique et Processus Spatiaux (BioSP)

Domaine Saint-Paul
Site Agroparc
84914 -  Avignon - France
Tél. : +33 (0)6 87 95 16 29

 

 

 

 

From: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] On Behalf Of Ivan Bezerra Allaman
Sent: sexta-feira, 24 de junho de 2011 21:14
To: R Brasil
Subject: Re: [R-br] Dendrograma com UPGMA e Mahalanobis

 

Boa tarde Hugo!

 

Ainda não estou conseguindo ler o seu arquivo. O que pode ser trivial para vc, para nós que estamos querendo ajudar as vezes não é. Por exemplo, salvei o seu arquivo com o nome de "clipboard", e mesmo assim a leitura do arquivo não sai. É preciso que vc passe detalhadamente o CMR, desde a leitura dos dados até a execução dos comandos. Não seria necessário primeiro um read.csv, read.table, ...., etc para ler o arquivo? Percebe-se que o seu CMR ainda está incompleto, pois "clone" em nenhum momento é requisitado pelas funções. Eu tenho um pouco de experiência com a "graphics", por isso é provável que eu possa ajudá-lo. Se vc quer utilizar  a distância de Mahalanobis, procure por pacotes que tenham esta metodologia, pois ser digitar ?dist verás que não tem a metodologia de Mahalanobis. Instale a library "sos" para procurar por pacotes que tenha tal metodologia.

 

install.packages("sos")

library(sos)

???"Mahalanobis distance"

 

Abraço.

 

Allaman

(S,f,P)

 

M.Sc Ivan Bezerra Allaman
Zootecnista
Doutorando em Produção Animal/Aquicultura - UFLA
email e msn - ivanalaman@yahoo.com.br
Tel: (35)3826-6608/9900-2924