test.factors: Calculate the initial cumulative explained variance of...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/test.factors.R

Description

This function performs eigenspace decomposition using the weight-transformed matrix W to determine the explained variance with increasing number of factors. Depending on the number of provided weight transformation limits (l) a vector or a matrix is returned.

Usage

1
test.factors(X, l, c, r.min = 0.95, plot = FALSE, legend, ...)

Arguments

X

Numeric matrix, input data set with m samples (rows) and n variables (columns).

l

Numeric vector, weight tranformation limits, i.e. quantiles; default is 0.

c

Numeric scalar, constant sum scaling parameter, e.g. 1, 100, 1000; default is 100.

r.min

Numeric scalar, minimum value of explained variance to be reached by the end-members included, default is 0.95.

plot

Logical scalar, optional graphical output of the results, default is FALSE.

legend

Character scalar, specify legend position (cf. legend). If omitted, no legend will be plotted, default is no legend.

...

Additional arguments passed to the plot function. Use colour instead of col to create different colours.

Details

The results may be used to define a minimum number of end-members for subsequent modelling steps, e.g. by using the Kaiser criterion, which demands a minimum number of eigenvalues to reach a squared R of 0.95.

Value

List with objects

L

Vector or matrix of cumulative explained variance.

q.min

Vector with number of factors that passed r.min.

Author(s)

Michael Dietze, Elisabeth Dietze

References

Dietze E, Hartmann K, Diekmann B, IJmker J, Lehmkuhl F, Opitz S, Stauch G, Wuennemann B, Borchers A. 2012. An end-member algorithm for deciphering modern detrital processes from lake sediments of Lake Donggi Cona, NE Tibetan Plateau, China. Sedimentary Geology 243-244: 169-180.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## load example data set
data(example_X)

## create sequence of weight transformation limits
l <- seq(from = 0, to = 0.2, 0.02)

## perform the test and show q.min
L <- test.factors(X = X, l = l, c = 100, plot = TRUE)
L$q.min

## a visualisation with more plot parameters
L <- test.factors(X = X, l = l, c = 100, plot = TRUE, 
                  ylim = c(0.5, 1), xlim = c(1, 7), 
                  legend = "bottomright", cex = 0.7)

## another visualisation, a close-up
plot(1:7, L$L[1,1:7], type = "l", 
     xlab = "q", ylab = "Explained variance")
for(i in 2:7) {lines(1:7, L$L[i,1:7], col = i)}

coffeemuggler/EMMAgeo documentation built on Dec. 27, 2019, 5:32 a.m.