Transforms the data by a log10 transformation, modifying small and zero
observations such that the transformation yields finite values.
Usage
logst(data, calib=data, threshold=NULL, mult = 1)
Value
the transformed data. The value c needed for the transformation is
returned as attr(.,"threshold").
Arguments
data
a vector or matrix of data, which is to be transformed
calib
a vector or matrix of data used to calibrate the
transformation(s),
i.e., to determine the constant c needed
threshold
constant c that determines the transformation,
possibly a vector with a value for each variable.
mult
a tuning constant affecting the transformation of small
values, see Details
Author
Werner A. Stahel, ETH Zurich
Details
Small values are determined by the threshold c. If not given by the
argument threshold, then it is determined by the quartiles
\(q_1\) and \(q_3\) of the non-zero data as those
smaller than \(c=q_1 / (q_3/q_1)^{mult}\).
The rationale is that for lognormal data, this constant identifies
2 percent of the data as small.
Beyond this limit, the transformation continues linear with the
derivative of the log curve at this point. See code for the formula.
The function chooses log10 rather than natural logs because they can
be backtransformed relatively easily in the mind.