Learn R Programming

Compositional (version 5.5)

Ternary diagram: Ternary diagram

Description

Ternary diagram.

Usage

ternary(x, dg = FALSE, hg = FALSE, means = TRUE, pca = FALSE, colour = NULL)

Arguments

x

A matrix with the compositional data.

dg

Do you want diagonal grid lines to appear? If yes, set this TRUE.

hg

Do you want horizontal grid lines to appear? If yes, set this TRUE.

means

A boolean variable. Should the closed geometric mean and the arithmetic mean appear (TRUE) or not (FALSE)?.

pca

Should the first PCA calculated Aitchison (1983) described appear? If yes, then this should be TRUE, or FALSE otherwise.

colour

If you want the points to appear in different colour put a vector with the colour numbers or colours.

Value

The ternary plot and a 2-row matrix with the means. The closed geometric and the simple arithmetic mean vector and or the first principal component will appear as well if the user has asked for them. Additionally, horizontal or diagonal grid lines can appear as well.

Details

There are two ways to create a ternary graph. We used here that one where each edge is equal to 1 and it is what Aitchison (1986) uses. For every given point, the sum of the distances from the edges is equal to 1. Horizontal and or diagonal grid lines can appear, so as the closed geometric and the simple arithmetic mean. The first PCA is calculated using the centred log-ratio transformation as Aitchison (1983, 1986) suggested. If the data contain zero values, the first PCA will not be plotted. Zeros in the data appear with green circles in the triangle and you will also see NaN in the closed geometric mean.

References

Aitchison, J. (1983). Principal component analysis of compositional data. Biometrika 70(1):57-65.

Aitchison J. (1986). The statistical analysis of compositional data. Chapman & Hall.

See Also

comp.den, alfa, diri.contour, comp.kerncontour

Examples

Run this code
# NOT RUN {
x <- as.matrix(iris[, 1:3])
x <- x / rowSums(x)
ternary(x, means = TRUE, pca = TRUE)
# }

Run the code above in your browser using DataLab