On Wed, 2010-09-08 at 15:45 -0300, Alexandre F. Souza wrote:
> Dear friends,
>  
>      I have just posted a question on the identification of plots-sites
> in Multivariate Regression Trees produced by the mvpart package in R. 
> 
>     However, I figured it out that it is just to sort the data according
> to the threshold values given by the resulting tree. Maybe there is a
> function in mvpart to give this information, but data sorting seems to
> work.
> 
>     Yet, another question arose. De'ath (2002, Ecology) states that MRT
> can be developed from other distance-based measures than the Euclidean
> distances. Do anyone knows how to implement it using mvpart?

If you are content with using dissimilarity coefficients that can be
viewed as Euclidean distances of scaled/transformed data then yes. This
is from page 1111, column 2, first paragraph, sentence starting "First,
there are several measures...".

if you apply one of a given set of transformation to data and them take
the Euclidean distance of the *transformed* data you are actually
getting the a different dissimilarity in the *un-transformed* data.
Legendre and Gallagher (2001) discuss this:

     Legendre, P. & Gallagher, E.D. (2001) Ecologically meaningful
     transformations for ordination of species data. _Oecologia_ *129*;
     271-280.

Two of their transformations, Hellinger and Chi squared, are available
in function decostand() in package vegan. So, apply one of those two
transformations to your (species) data first, then fit the tree, for
example using the hunting spider data:

require(mvpart)
require(vegan)
data(spider)
## split species data in SPP
SPP <- decostand(data.matrix(spider[, 1:12]), method = "hellinger")
## fit tree
mod <- mvpart(SPP ~ herbs + reft + moss + sand + twigs + water,
              data = spider, xv = "pick")

Which is slightly different to the one obtained using Euclidean
distances...

As for other dissimilarities, and the additive MV trees, you'd need to
write your own split criterion functions.

There are two alternatives offer by mvpart though; one is to use 'method
= "dist"' in your mvpart call and supply a square symmetric
dissimilarity matrix instead of the raw data (but then CV and weights
can't be used and CV is just about a requirement IMHO); or you can try
manhattan dissimilarities by specifying 'dissim = "man"'. For both,
see ?rpart *after* loading the mvpart package.

HTH

G

>     Best wishes,
> 
>     Alexandre
> 
> 
> Dr. Alexandre F. Souza 
> Programa de Pós-Graduação em Biologia: Diversidade e Manejo da Vida
> Silvestre
> Universidade do Vale do Rio dos Sinos (UNISINOS)
> Av. UNISINOS 950 - C.P. 275, São Leopoldo 93022-000, RS  - Brasil
> Telefone: (051)3590-8477 ramal 1263
> Skype: alexfadigas
> [email protected]
> http://www.unisinos.br/laboratorios/lecopop
> 

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

Reply via email to