Reputation: 33
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:
vegdist()
to do this.On the other hand you can
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))’
Upvotes: 3
Views: 4370
Reputation: 3722
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.
Upvotes: 4