Thank you. I use the same matrix on cmdscale as I did with isoMDS. I have reproduced 
my steps below for clarification if this happens to shed any light.
 
Here is the original total matrix (see opening thread if you care how this is created)
 
  a b c d e f g h
a 4 4 2 4 1 2 0 0
b 4 4 2 4 1 2 0 0
c 2 2 4 2 3 2 2 1
d 4 4 2 4 1 2 0 0
e 1 1 3 1 4 3 3 2
f 2 2 2 2 3 4 2 1
g 0 0 2 0 3 2 4 3
h 0 0 1 0 2 1 3 4
 
So, there are 8 items. This matrix indicates that items 1,2, and 4 were always grouped 
together (or viewed as being similar by individuals). I transformed this using 
 
tt<-max(t)-t
 
which results in
  a b c d e f g h
a 0 0 2 0 3 2 4 4
b 0 0 2 0 3 2 4 4
c 2 2 0 2 1 2 2 3
d 0 0 2 0 3 2 4 4
e 3 3 1 3 0 1 1 2
f 2 2 2 2 1 0 2 3
g 4 4 2 4 1 2 0 1
h 4 4 3 4 2 3 1 0
 
When I run isoMDS on this new matrix, it tells me to specify the initial config 
because of the NA/INFs/ But when I perform cmdscale on this same matrix I end up with 
the following results,
 
> bt<-cmdscale(tt);bt
 
         [,1]       [,2]
a -1.79268634 -0.2662750
b -1.79268634 -0.2662750
c -0.02635497  0.5798934
d -1.79268634 -0.2662750
e  1.08978620  0.6265313
f -0.02635497  0.5798934
g  2.20852966  0.2828937
h  2.13245309 -1.2703869
 
The results suggest that items 1,2, and 4 have similar locations as is expected. Also 
items 3 and 6 have similar locations as would also be expected. So, my results seem to 
have been replicated correctly using cmdscale. 
 
I've tried to specify an initial config using isoMDS in a few ways without success, so 
I am surely doing something wrong. So far, I have tried the following:
 
> ll<-isoMDS(tt, y=cmdscale(tt))
 
which tells me "zero or negative distance between objects 1 and 2"
 
> ll<-isoMDS(tt, y=cmdscale(tt, k=2))
 
 
Again, thanks,
 
Harold
 
 

        -----Original Message----- 
        From: Jari Oksanen [mailto:[EMAIL PROTECTED] 
        Sent: Thu 9/9/2004 4:26 AM 
        To: Doran, Harold 
        Cc: Prof Brian Ripley; R-News 
        Subject: RE: [R] isoMDS
        
        

        On Wed, 2004-09-08 at 21:31, Doran, Harold wrote:
        > Thank you. Quick clarification. isoMDS only works with dissimilarities.
        > Converting my similarity matrix into the dissimilarity matrix is done as
        > (from an email I found on the archives)
        >
        > > d<- max(tt)-tt
        >
        > Where tt is the similarity matrix. With this, I tried isoMDS as follows:
        >
        > > tt.mds<-isoMDS(d)
        >
        > and I get the following error message.
        >
        > Error in isoMDS(d) : An initial configuration must be supplied with
        > NA/Infs in d. I was a little confused on exactly how to specify this
        > initial config. So, from here I ran cmdscale on d as
        >
        This error message is quite informative: you have either missing or
        non-finite entries in your data. The only surprising thing here is that
        cmdscale works: it should fail, too. Are you sure that you haven't done
        anything with your data matrix in between, like changed it from matrix
        to a dist object? If the Inf/NaN/NA values are on the diagonal, they
        will magically disappear with as.dist. Anyway, if you're able to get a
        metric scaling result, you can manually feed that into isoMDS for the
        initial configuration, and  avoid the check. See ?isoMDS.
        
        > > d.mds<-cmdscale(d)
        >
        > which seemed to work fine and produce reasonable results. I was able to
        > take the coordinates and run them through a k-means cluster and the
        > results seemed to correctly match the grouping structure I created for
        > this sample analysis.
        >
        > Cmdscale is for metric scaling, but it seemed to produce the results
        > correctly.
        >
        > So, did I correctly convert the similarity matrix to the dissimilarity
        > matrix? Second, should I have used cmdscale rather than isoMDS as I have
        > done? Or, is there a way to specify the initial configuration that I
        > have not done correctly.
        
        If you don't know whether you should use isoMDS or cmdscale, you
        probably should use cmdscale. If you know, things are different.
        Probably isoMDS gives you `better'(TM) results, but it is more
        complicated to handle.
        
        cheers, jari oksanen
        --
        Jari Oksanen -- Dept Biology, Univ Oulu, 90014 Oulu, Finland
        Ph. +358 8 5531526, cell +358 40 5136529, fax +358 8 5531061
        email [EMAIL PROTECTED], homepage http://cc.oulu.fi/~jarioksa/
        
        


        [[alternative HTML version deleted]]

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to