R metaMDS ordination distances

左心房为你撑大大i 提交于 2019-12-11 07:44:57

问题


I have been doing some ordinations on a data set that I have of abundances of species at different sampling points. I am using metaMDS in vegan to do this. With this function you can either (1)enter directly the community data (sites in rows and species in columns) and specify what type of distance you want it to use (i.e. jaccard, brays curtis, euclidean, etc.) and the function calls vegdist to do this. On the other hand you can (2)give the metaMDS a distance matrix you have already created, potentially using vegdist (separate from the metaMDS function). Where I am confused is that if I do the first strategy I get one answer, and when I do the second (and then putting that distance matrix into the metaMDS function) I get a totally different answer (very different stress values, different ordination coordinates). And when I call for the distance matrix created in the first strategy the distances are drastically different then what I get from just vegdist function. I read in passing, researching something else, that when metaMDS calls the vegdist function it is finding the distances in multi-dimensional space, while just using vegdist is in a single dimension. Essentially I am asking is how does metaMDS call and compute the distances with vegdist (is it doing it in multi-dimensional space?) and how is that different than simply using vegdist itself? Hopefully in understanding these differences I can discern which is the best and most appropriate method for my dataset.

mrja<-read.table("example.txt")
jac<-vegdist(mrja,method="jaccard")
head(jac)

[1] 0.7910448 0.8721461 0.7157360 0.9075908 0.9335038 0.9104478 ###first six distances

ordjac1<-metaMDS(jac,k=2)
ordjac1$stress

[1] 0.169781 ordjac1

Call: metaMDS(comm = jac, k = 2)

global Multidimensional Scaling using monoMDS

Data: jac Distance: jaccard

Dimensions: 2 Stress: 0.169781 Stress type 1, weak ties No convergent solutions - best solution after 20 tries Scaling: centring, PC rotation Species: scores missing

ordjac2<-metaMDS(mrja,k=2,distance="jaccard")
ordjac2$stress

[1] 0.2367037

head(ordjac2$dist)

[1] 5.259303e-06 2.812693e-05 1.879357e-02 1.216611e-01 3.913638e-02 [6] 7.444730e-02 ###first six distances

ordjac2

Call: metaMDS(comm = mrja, distance = "jaccard", k = 2)

global Multidimensional Scaling using monoMDS

Data: wisconsin(sqrt(mrja)) Distance: jaccard

Dimensions: 2 Stress: 0.2367037 Stress type 1, weak ties No convergent solutions - best solution after 20 tries Scaling: centring, PC rotation, halfchange scaling Species: expanded scores based on ‘wisconsin(sqrt(mrja))’


回答1:


There is not sufficient information, but perhaps metaMDS performed some transformation and standardization. This is seen in tracing information and in printed output. For instance, we have

> metaMDS(varespec)
Square root transformation
Wisconsin double standardization
...
global Multidimensional Scaling using monoMDS

Data:     wisconsin(sqrt(varespec)) 
Distance: bray 

which tells you that data were first squareroot transformed and then Wisconsin standardized. Do you see something like this? You can turn off these by setting argument autotransform = FALSE in the metaMDS() call. You can start by providing us this information.



来源:https://stackoverflow.com/questions/25629645/r-metamds-ordination-distances

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!