How do I determine the type of transformation that metaMDS is applying to my community data when autotransform=TRUE
?

- 170,508
- 25
- 396
- 453

- 21
- 2
1 Answers
See the help for ?metaMDS
. The Details section explains what the function is doing. In particular
Transformation: If the data values are larger than common abundance class scales, the function performs a Wisconsin double standardization (
wisconsin
). If the values look very large, the function also performs sqrt transformation. Both of these standardizations are generally found to improve the results. However, the limits are completely arbitrary (at present, data maximum 50 triggerssqrt
and 9 triggerswisconsin
). If you want to have a full control of the analysis, you should setautotransform = FALSE
and standardize and transform data independently. Theautotransform
is intended for community data, and for other data types, you should setautotransform = FALSE
. This step is perfomed usingmetaMDSdist
.
If you look at the output printed to the screen when you run metaMDS
right before it starts doing the random starts, it will print which transformation is used:
library('vegan')
data(varespec)
set.seed(1)
metaMDS(varespec)
> metaMDS(varespec)
Square root transformation
Wisconsin double standardization
Run 0 stress 0.1843196
Run 1 stress 0.2455912
Run 2 stress 0.2169407
....

- 170,508
- 25
- 396
- 453
-
1My call prints no lines about transformations. Should I then assume that no transformation was automatically applied? '> metaMDS(zb_g_comm,distance='bray',k=3,autotransform=T,trymax=9999) Run 0 stress 0.1328145 Run 1 stress 0.1345457 Run 2 stress 0.1345843 Run 3 stress 0.1328351 ... Procrustes: rmse 0.008645817 max resid 0.04736491 Run 4 stress 0.1328108 ' – Michael Spear Apr 12 '20 at 21:34
-
Yes I think you can assume that no transformation was applied. – Simon Woodward Feb 22 '21 at 21:35