[R] Fwd: MDS problems [ajtee@ajtee.uklinux.net]

Jari Oksanen jarioksa at sun3.oulu.fi
Fri Mar 26 15:07:30 CET 2004


On Fri, 2004-03-26 at 15:02, Adam Tee wrote:
> Hi all,
> 
> 
> I'm trying to perform an MDS of some data that I have.  When I use
> cmdscale everything is fine and I get some interesting results however,
> the tends to be low.
> 
> What I wnat to do is compare this with the Non-Metric MDS using isoMDS  
> or sammon. However, when I try using these I get the following message.
> 
> Error in isoMDS(x.dist) : zero or negative distance between objects 2  
> and 4
> 
The error message is clear: You have some identical sites so that their
distance is zero. I think the canonical solution is to remove the
duplicate cases from the data before calculating the dissimilarities. If
your data frame is called X:

Xuniq <- unique(X)
x.dist <- dist(Xuniq)

(or, as a one-liner: x.dist <- dist(unique(X))

A dirty solution is to lie to isoMDS. The following will do:

isoMDS(x.dist + 1e-5)

But you better not tell anybody that you did this dirty trick.

cheers, jari oksanen
-- 
Jari Oksanen <jarioksa at sun3.oulu.fi>




More information about the R-help mailing list