varipart: Partition of the variation of a response multivariate table...

View source: R/varipart.R

varipartR Documentation

Partition of the variation of a response multivariate table by 2 explanatory tables


The function partitions the variation of a response table (usually community data) with respect to two explanatory tables. The function performs the variation partitioning based on redundancy analysis (RDA, if dudiY is obtained by dudi.pca) or canonical correspondance analysis (CCA, if dudiY is obtained by dudi.coa) and computes unadjusted and adjusted R-squared. The significance of R-squared are evaluated by a randomization procedure where the rows of the explanatory tables are permuted.


varipart(Y, X, W = NULL, nrepet = 999, type = c("simulated", "parametric"),
scale = FALSE, ...)
## S3 method for class 'varipart'
print(x, ...)



a vector, matrix or data frame or an object of class dudi. If not a dudi object, the data are trated by a principal component analysis (dudi.pca).

X, W

dataframes or matrices of explanatory (co)variables (numeric and/or factor variables). By default, no covariables are considered (W is NULL) and this case corresponds to simple caonical ordination.


an integer indicating the number of permutations .


a character specifying the algorithm which should be used to adjust R-squared (either "simulated" or \ code"parametric").


If Y is not a dudi, a logical indicating if variables should be scaled


further arguments passed to as.krandtest or as.randtest (if no covariables are considered) for function varipart.


an object of class varipart


Two types of algorithm are provided to adjust R-squared. The "simulated" procedure estimates the unadjusted R-squared expected under the null hypothesis H0 and uses it to adjust the observed R-squared as follows: R2.adj = 1 - (1 - R2) / (1 - E(R2|H0)) with R2.adj the adjusted R-squared and R2 the unadjusted R-squared. The "parametric" procedure performs the Ezequiel's adjustement on the unadjusted R-squared as: R2.adj = 1 - (1 - R2) / (1 - p / (n - 1)) where n is the number of sites, and p the number of predictors.


It returns an object of class varipart. It is a list with:


the significance test of fractions [ab], [bc], and [abc] based on randomization procedure. An object of class krandtest


unadjusted estimations of fractions [a], [b], [c], and [d]


adjusted estimations of fractions [a], [b], [c], and [d]


the matched call


Stephane Dray and Sylvie Clappe


Borcard, D., P. Legendre, and P. Drapeau. 1992. Partialling out the spatial component of ecological variation. Ecology 73:1045.

Peres-Neto, P. R., P. Legendre, S. Dray, and D. Borcard. 2006. Variation partitioning of species data matrices: estimation and comparison of fractions. Ecology 87:2614-2625.

See Also




# PCA on response table Y
Y <- mafragh$flo
dudiY <- dudi.pca(Y, scannf = FALSE, scale = FALSE)

# Variation partitioning based on RDA
# without covariables
vprda <- varipart(dudiY,  mafragh$env)
# Variation partitioning based on RDA
# with covariables and parametric estimation
vprda <- varipart(dudiY,  mafragh$env, mafragh$xy, type = "parametric")

ade4 documentation built on Feb. 16, 2023, 7:58 p.m.

Related to varipart in ade4...