Header Leaderboard Ad

Collapse

calculating eigenvalues using cmdscale and plotMDS

Collapse

Announcement

Collapse

SEQanswers June Challenge Has Begun!

The competition has begun! We're giving away a $50 Amazon gift card to the member who answers the most questions on our site during the month. We want to encourage our community members to share their knowledge and help each other out by answering questions related to sequencing technologies, genomics, and bioinformatics. The competition is open to all members of the site, and the winner will be announced at the beginning of July. Best of luck!

For a list of the official rules, visit (https://www.seqanswers.com/forum/sit...wledge-and-win)
See more
See less
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • calculating eigenvalues using cmdscale and plotMDS

    I am using plotMDS() from the limma package to generate ordination plots from a one-color microarray dataset. I would like to get some estimates for the variation explained by each dimension so that I can make a Scree plot.

    From my interpretation of the help file, plotMDS performs classical multidimensional scaling (i.e., principle components analysis) via the cmdscale() function. Since plotMDS() returns an object, I can easily get the following information about the plot (dim.plot, distance.matrix, cmdscale.out, top, gene.selection, x, y), but I am unable to get the eigenvalues associated with each dimension. Furthermore, if I pass the distance matrix output by plotMDS() (distance.matrix) back to cmdscale() to generate eigenvalues via cmdscale(mds$distance.matrix,eig=T), the x and y coordinates and distance matrix returned by cmdscale() do not match with the output originally returned by plotMDS(). (for the record, the results are similar, however)

    Provided I am correct about how plotMDS works, I am guessing that the reason that the output from the two functions differs is because the distance matrix output from plotMDS() (distance.matrix: numeric matrix of pairwise distances between columns of x) and cmdscale() (x: the doubly centered distance matrix if x.ret is true) are different. So it is not clear to me whether I am using plotMDS/cmdscale to correctly calculate the eigenvalues via cmdscale(mds$distance.matrix,eig=T).

    Finally, I have tried numerous alternatives for performing PCA, and while they all give broadly similar results, they also give somewhat different estimates for the PC plots and eigenvalues. So at this point, I feel like I am missing something, and should be able to resolve the original eigenvalue output issue in a much simpler fashion... or perhaps I shouldn't get too wound up about the minor differences in output between various methods?

    Thanks for any advice on how to proceed!

  • #2
    bump for the weekend...

    Comment

    Latest Articles

    Collapse

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by seqadmin, Yesterday, 08:56 PM
    0 responses
    8 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, Yesterday, 07:33 AM
    0 responses
    8 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, 05-31-2023, 07:50 AM
    0 responses
    4 views
    0 likes
    Last Post seqadmin  
    Started by seqadmin, 05-26-2023, 09:22 AM
    0 responses
    8 views
    0 likes
    Last Post seqadmin  
    Working...
    X