The functions allows to evaluate the significance and estimate parts in variation partitioning using Moran Spectral Randomization (MSR) as a spatially-constrained null model to account for spatial autocorrelation in table X. Hence, this function provides a variation partioning adujsted for spurious correlation due to spatial autocorrelation in both the response and one explanatory matrix.

# S3 method for class 'varipart'
msr(
  x,
  listwORorthobasis,
  nrepet = x$test$rep[1],
  method = c("pair", "triplet", "singleton"),
  ...
)

Arguments

x

An object generated by the varipart function.

listwORorthobasis

an object of the class listw (spatial weights) created by the functions of the spdep package or an object of class orthobasis

nrepet

an integer indicating the number of replicates

method

an character specifying which algorithm should be used to produce spatial replicates (see msr.default).

...

further arguments of the msr.default function.

Value

An object of class varipart randomized replicates.

Details

The function corrects the biases due to spatial autocorrelation by using MSR procedure to produce environmental predictors that preserve the spatial autocorrelation and the correlation structures of the original environmental variables while being generated independently of species distribution.

References

Clappe, S., Dray S. and P.R. Peres-Neto (2018) Beyond neutrality: disentangling the effects of species sorting and spurious correlations in community analysis. Ecology 99:1737-1747.

Wagner, H. H., and S. Dray (2015). Generating spatially constrained null models for irregularly spaced data using Moran spectral randomization methods. Methods in Ecology and Evolution 6:1169-1178.

See also

Author

(s) Stephane Dray stephane.dray@univ-lyon1.fr and Sylvie Clappe sylvie.clappe@univ-lyon1.fr

Examples

library(ade4)
library(spdep)
data(mafragh)
## Performing standard variation partitioning
dudiY <- dudi.pca(mafragh$flo, scannf = FALSE, scale = FALSE)
mafragh.lw <- nb2listw(mafragh$nb)
me <- mem(mafragh.lw, MEM.autocor = "positive")
vprda <- varipart(dudiY, mafragh$env, me, type = "parametric")

## Adjust estimation and compute p-value by msr methods
vprda.msr <- msr(vprda, mafragh.lw, nrepet=99)
vprda.msr
#> Variation Partitioning
#> class: varipart list 
#> 
#> Test of fractions:
#> Monte-Carlo test
#> Call: msr.varipart(x = vprda, listwORorthobasis = mafragh.lw, nrepet = 99)
#> 
#> Observation: 0.2366554 
#> 
#> Based on 99 replicates
#> Simulated p-value: 0.02 
#> Alternative hypothesis: greater 
#> 
#>      Std.Obs  Expectation     Variance 
#> 2.7547239398 0.1743802576 0.0005110614 
#> 
#> Individual fractions:
#>          a          b          c          d 
#> 0.06295763 0.17369775 0.42438794 0.33895668 
#> 
#> Adjusted fractions:
#>           a           b           c           d 
#> -0.01366599  0.08909434  0.25694339  0.66762826