2

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

Gavin Simpson
  • 170,508
  • 25
  • 396
  • 453

1 Answers1

1

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 triggers sqrt and 9 triggers wisconsin). If you want to have a full control of the analysis, you should set autotransform = FALSE and standardize and transform data independently. The autotransform is intended for community data, and for other data types, you should set autotransform = FALSE. This step is perfomed using metaMDSdist.

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
....
Gavin Simpson
  • 170,508
  • 25
  • 396
  • 453
  • 1
    My 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