robust.EM {EMMAgeo}R Documentation

Extract robust end-members

Description

This function takes a list object with potential end-member loadings and extracts those with modes in specified limits to describe them by mean and standard deviation and use these descriptions to propagate the uncertainties to end-member scores.

Usage

robust.EM(
  em,
  limits,
  classunits,
  amount,
  l,
  mc_n,
  type = "mean",
  qt = c(0.25, 0.75),
  cores = 1,
  plot = FALSE,
  ...
)

Arguments

em

List of class "EMMAgeo_empot", i.e. the outout of model.em() or test.robustness(), containing potential end-members, both in unscaled and rescaled version as well as further parameters.

limits

Numeric matrix with two columns, defining the class limits for the robust end-members to calculate. The first column defines the lower limits, the second column the upper limits. End-members are organised in rows.

classunits

Numeric vector, optional class units (e.g. micrometers or phi-units) of the same length as columns of X.

amount

Numeric matrix with two columns, defining the minimum and maximum amount of the modal class for each end-member.

l

Numeric scalar, weight transformation limit for modelling the average end-member output.

mc_n

Numeric scalar, number of Monte Carlo simulations to estimate end-member scores uncertainty. The default setting is ten times the product of number of end-members and number of weight transformation limits. The latter is inherited from model.em(). To disable modelling of scores uncertainty, set mc_n = 0.

type

Character scalar, type of oadings statistics. One out of "mean" and "median". Default is "mean".

qt

Numeric vector of length two, quantiles to describe end-member loadings. Default is c(0.25, 0.75) (i.e., the quartile range).

cores

Numeric scalar, number of CPU cores to be used for calculations. Only useful in multicore architectures. Default is 1 (single core).

plot

Logical scalar, option for plot output. Default is FALSE.

...

Additional arguments passed to EMMA and plot.

Details

The function is used to extract potential end-member loadings based on their mode positions and, optionally the height of the mode class, and use them to infer mean and stanard deviation of all end-members that match the group criteria defined by limits. These information are then used to model the uncertainty of the corresponding end-member scores. The function uses input from two preceeding approaches. In a compact protocol model.em delivers these data in a predefined way. In the extended protocol test.robustness does this.

Value

List with statistic descriptions of end-member loadings and scores.

Author(s)

Michael Dietze, Elisabeth Dietze

See Also

robust.loadings, robust.scores

Examples


## Not run: 

## load example data set
data(example_X)

## get weight transformation limit vector
l <- get.l(X = X)

## get minimum and maximum number of end-members
q <- get.q(X = X, l = l)

## get all potential model scenarios
EM_pot <- model.EM(X = X, q = q, plot = TRUE)

## define end-member mode class limits
limits <- cbind(c(61, 74, 95, 102), 
                c(64, 76, 100, 105))

## get robust end-members in the default way, with plot output
rem <- robust.EM(em = EM_pot,
                 limits = limits,
                 plot = TRUE)
                    
## get robust end-members by only modelling uncertainty in loadings
robust_EM <- robust.EM(em = EM_pot, 
                       limits = limits, 
                       plot = TRUE)


## End(Not run)
                    

[Package EMMAgeo version 0.9.7 Index]