[R] Envfit, inconsistant result?

Jari Oksanen jari.oksanen at oulu.fi
Wed Sep 28 10:20:21 CEST 2011

rodrock <rodrigo.vargasgaete <at> gmail.com> writes:

> I am using the envfit function over an ordination of floristic data.
> The problem is that every time that I run it changes the results. Sometimes
> dramatically, selecting variables that the first time were not significant.
> I do not get what could be the problem or if is normal given the
> permutations are different.
> # the NMDS ordination
> gap_flor_NMDS_chord <- metaMDS(gaps_flor, distance = "euclid", k = 2, trymax
> = 20, autotransform =TRUE,
> noshare = 0.1, wascores = TRUE, expand = TRUE, trace = 1,
> plot = FALSE, old.wa = FALSE, zerodist = "add")

> # the  Envfit calculation
> exp_flor1 <- envfit(gap_flor_NMDS_chord, explain1, permu = 999, na.rm=T)       


Do you re-run your NMDS when the envfit results change? The results of NMDS may
change between two runs. You should first check that the NMDS results are nearly
identical. This you can do with procrustes() function in vegan:

plot(procrustes(gap_flor_NMDS1, gap_flor_NMDS2))

where the arguments gap_flor_NMDS1 and gap_flor_NMDS2 are two NMDS results that
gave you different envfit results. Use of plot() above helps you to avoid
looking at tiny differences in a numeric results: if you cannot see a difference
in the procrustes plot, there is no difference you need to worry about. Only
worry about envfit differences if the NMDS results are practically identical.

I'm surprised if metaMDS didn't issue any warning on the combination of
arguments you used in metaMDS: having no.share > 0 and distance = "euclid"
sounds dubious, and I have tried to catch those cases and issue an informative
warning. You could also try higher trymax to get more consistent NMDS results.

Cheers, Jari Oksanen

More information about the R-help mailing list