PCA Significance

Description

Calculates the number of significant axes from a Principal Components Analysis based on the broken-stick criterion, or adds an equilibrium circle to an ordination diagram.

Usage

1
2
PCAsignificance(pca,axes=8)
ordiequilibriumcircle(pca,ordiplot,...)

Arguments

pca

Principal Components Analysis result as calculated by rda (vegan).

axes

Number of axes to calculate results for.

ordiplot

Ordination plot created by ordiplot (vegan)

...

Other arguments passed to function arrows.

Details

These functions provide two methods of providing some information on significance for a Principal Components Analysis (PCA).

Function PCAsignificance uses the broken-stick distribution to evaluate how many PCA axes are significant. This criterion is one of the most reliable to check how many axes are significant. PCA axes with larger percentages of (accumulated) variance than the broken-stick variances are significant (Legendre and Legendre, 1998).

Function ordiequilibriumcircle draws an equilibirum circle to a PCA ordination diagram. Only species vectors with heads outside of the equilibrium circle significantly contribute to the ordination diagram (Legendre and Legendre, 1998). Vectors are drawn for these species. The function considers the scaling methods used by rda for scaling=1. The method should only be used for scaling=1 and PCA calculated by function rda.

Value

Function PCAsignificance returns a matrix with the variances that are explained by the PCA axes and by the broken-stick criterion.

Function ordiequilibriumcircle plots an equilibirum circle and returns a list with the radius and the scaling constant used by rda.

Author(s)

Roeland Kindt (World Agroforestry Centre)

References

Legendre, P. & Legendre, L. (1998). Numerical Ecology. 2nd English Edition. Elsevier.

Kindt, R. & Coe, R. (2005). Tree diversity analysis: A manual and software for common statistical methods for ecological and biodiversity studies.

http://www.worldagroforestry.org/output/tree-diversity-analysis

Examples

1
2
3
4
5
6
library(vegan)
data(dune)
Ordination.model1 <- rda(dune)
PCAsignificance(Ordination.model1)
plot1 <- ordiplot(Ordination.model1, choices=c(1,2), scaling=1)
ordiequilibriumcircle(Ordination.model1,plot1)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.