[R] isoMDS and 0 distances
Christian Hennig
chrish at stats.ucl.ac.uk
Wed Apr 19 12:43:58 CEST 2006
About replacing the zeroes with tiny numbers:
isoMDS works with the rankings of the distances. Therefore replacing
zeroes by tiny values gives them a rank above the "real" zeroes (distance
to same observation) and below all the non-zero distances. If this makes
sense in your application (in my experience it usually does), you can do
it.
Sometimes the classical MDS solution is a local optimum of the isoMDS
criterion. In these cases isoMDS "converges" in one step (rather it gives
you the classical MDS solution). This may happen with and without zero
or NA distances.
Best,
Christian
On Tue, 18 Apr 2006, Tyler Smith wrote:
> Hi,
>
> I'm trying to do a non-metric multidimensional scaling using isoMDS.
> However, I have some '0' distances in my data, and I'm not sure how to
> deal with them. I'd rather not drop rows from the original data, as I am
> comparing several datasets (morphology and molecular data) for the same
> individuals, and it's interesting to see how much morphological
> variation can be associated with an identical genotype.
>
> I've tried replacing the 0's with NA, but the isoMDS appears to stop on
> the first iteration and the stress does not improve:
>
> distA # A dist object with 13695 elements, 4 of which == 0
> cmdsA <- cmdscale(distA, k=2)
>
> distB <- distA
> distB[which(distB==0)] <- NA
>
> isoA <- isoMDS(distB, cmdsA)
> initial value 21.835691
> final value 21.835691
> converged
>
> The other approach I've tried is replacing the 0's with small numbers.
> In this case isoMDS does reduce the stress values.
>
> min(distA[which(distA>0)])
> [1] 0.02325581
>
> distC <- distA
> distC[which(distC==0)] <- 0.001
> isoC <- isoMDS(distC)
> initial value 21.682854
> iter 5 value 16.862093
> iter 10 value 16.451800
> final value 16.339224
> converged
>
> So my questions are: what am I doing wrong in the first example? Why
> does isoMDS converge without doing anything? Is replacing the 0's with
> small numbers an appropriate alternative?
>
> Thanks for your time,
>
> Tyler
> R 2.2.1
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
*** --- ***
Christian Hennig
University College London, Department of Statistical Science
Gower St., London WC1E 6BT, phone +44 207 679 1698
chrish at stats.ucl.ac.uk, www.homepages.ucl.ac.uk/~ucakche
More information about the R-help
mailing list