Partial redundancy analysis

The main idea ...

Like other partial methods (e.g. partial CCA), partial redundancy analysis (pRDA) seeks to remove the effect of one or more explanatory variables on a set of response variables prior to a standard RDA. This may be useful when well-characterised variables with strong effects obscure the effects of more interesting explanatory variables.



Figure 1: An illustration of "partialling out" a set of variables (W) from a model. a) Both the explanatory variable(s) in matrices X and Y explain a portion of the variation in the response data (Y). b) After the partialling out the effect of W (which may be a single variable or a set of variables), only the variance in the response variables (Y) which can be exclusively explained by the variance in one set of explanatory variables (X) is retained.

When partialling out the effects of time or space, it is important to consider what the best representation of temporal/spatial difference between objects is. Complex surfaces or non-linear representations of time may not be partialled out in a meaningful way and may adversely effect the analysis.

The method can also be applied to examine the effect of a single variable in a matrix of explanatory variables using pRDA, while controlling for the other variables. This is done by placing all other explanatory variables in a matrix of control variables. Their effects may then be partialled out. A single canonical axis and eigenvalue will be generated which express the variation that the variable of interest is responsible for.

  • R
    • The function rda() in the vegan package can be used to perform pRDA by adding a conditioning matrix (i.e. the matrix containing the variables whose effects are to be partialled out) via the "Condition()" argument. For example: rda(Y ~ X + Condition(Z))" will perform an RDA of a response matrix "Y" and an explanatory matrix "X" after partialling out the effects of a conditioning matrix "Z".