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





Mardia, kent & Bibby defines the "standard transformation" from a similarity matrix to a dissimilarity
(distance) matrix by


d_rs <-  sqrt( c_rr -2*c_rs + c_ss)

where c_rs are the similarities. This assures the diagonal of the dissimilarity matrix to be zero.
You could try that.


Kjetil halvorsen


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



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.

Again, many thanks.

Harold

-----Original Message-----
From: Prof Brian Ripley [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 08, 2004 9:58 AM
To: Doran, Harold
Cc: [EMAIL PROTECTED]
Subject: Re: [R] isoMDS


On Wed, 8 Sep 2004, Doran, Harold wrote:



1) Can isoMDS work only with dissimilarities? Or, is there a way
that it can perform the analysis on the similarity matrix as I have
described it?



Yes. The method, as well as the function in package MASS. All other MDS packages are doing a conversion, probably without telling you how.




2) If I cannot perform the analysis on the similarity matrix, how
can I turn this matrix into a dissimilarity matrix necessary? I am


less


familiar with this matrix and how it would be constructed?



Normally similarities are in the range [0,1], and people use D = 1 - S or sqrt(1-S). (Which does not matter for isoMDS since it only uses ranks of dissimilarities, apart from finding the starting configuration.) See the references on the help page for isoMDS.





--

Kjetil Halvorsen.

Peace is the most effective weapon of mass construction.
              --  Mahdi Elmandjra

______________________________________________
[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