[R] 2d rotation: vegan?
William Revelle
lists at revelle.net
Sat Feb 14 18:29:45 CET 2015
Randall,
You might try the factor.rotate function in the psych package. That will allow you to “hand rotate” any solution where (in your example) nmdp is a matrix.
You also could look at the the various rotations available in the GPArotation package.
Bill
> On Feb 13, 2015, at 9:08 AM, Randall Morris-Ostrom <randall.morrisostrom at icloud.com> wrote:
>
> I've been working at interpreting the results of a non-metric multidimensional scaling analysis. I have been using metaMDS in the vegan package because one of the benefits is that it also rotates to solution to its principal components. (Eventually I realized that there is no reason why my results would be most interpretable when aligned along the PC, but it was a nice starting point.)
>
> I have been trying to find ways to rotate the resulting plot so I can visualize it differently and look at actual plot positions (as opposed to just rotating the print outs I have been looking at.) I'm able to find lots of suggestions for how to rotate3d plots, but almost nothing for 2d. I have tried using the MDSrotate function in vegan, but really it comes down to the fact that I'm clueless when I try to make sense of the documentation. *somewhat embarrassed* My goal is basically to rotate the plot and exam the structure as a tool to generate theories about the meaning of the different dimensions (the interpretation of the clusters in my research are crystal clear.)
>
> I generated a little fake data, just so there would be a plot. I've been trying to figure out how to do this as either just a simple scatterplot or using the vegan package.
>
> Thank you for your time,
> Randy
>
> Randall Morris-Ostrom J.D., M.S.
> Doctoral Candidate in Psychology,
> University of St. Thomas
> randall.morrisostrom at icloud.com
>
>
> Sample Code
>
> library(vegan)
> set.seed(12345)
> x <- rnorm(1:10)
> y <- rnorm(1:10)
> df <- data.frame(x,y)
> d <- dist(df, method = "euclidean")
> nmds <- metaMDS(df, distance = "euclidean", k = 2)
> plot(nmds)
> # or
> nmdp <- as.data.frame(nmds$points)
> plot(nmdp$MDS1, nmdp$MDS2)
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
William Revelle http://personality-project.org/revelle.html
Professor http://personality-project.org
Department of Psychology http://www.wcas.northwestern.edu/psych/
Northwestern University http://www.northwestern.edu/
Use R for psychology http://personality-project.org/r
It is 3 minutes to midnight http://www.thebulletin.org
More information about the R-help
mailing list