View source: R/normalize_features.r
normalize.features | R Documentation |
This function performs feature normalization according to user-specified parameters.
normalize.features(siamcat, norm.method = c("rank.unit", "rank.std",
"log.std", "log.unit", "log.clr", "std", "pass"),
norm.param = list(log.n0 = 1e-06, sd.min.q = 0.1, n.p = 2, norm.margin = 1),
feature.type='filtered', verbose = 1)
siamcat |
an object of class siamcat-class |
norm.method |
string, normalization method, can be one of these:
|
norm.param |
list, specifying the parameters of the different normalization methods, see Details for more information |
feature.type |
string, on which type of features should the function
work? Can be either |
verbose |
integer, control output: |
an object of class siamcat-class with normalized features
There are seven different normalization methods available, which
might need additional parameters, which are passed via the norm.param
list:
'rank.unit'
- converts features to ranks and normalizes
each column (=sample) by the square root of the sum of ranks
This method does not require additional parameters.
'rank.std'
- converts features to ranks and applies z-score
standardization.
This method requires sd.min.q
(minimum quantile of the standard
deviation to be added to all features in order to avoid underestimation of
standard deviation) as additional parameter.
'log.clr'
- centered log-ratio transformation.
This methods requires a pseudocount (log.n0
) before
log-transformation.
'log.std'
- log-transforms features and applies z-score
standardization.
This method requires both a pseudocount (log.n0
) and sd.min.q
'log.unit'
- log-transforms features and normalizes by
features or samples with different norms.
This method requires a pseudocount (log.n0
) and then additionally the
parameters norm.maring
(margin over which to normalize, similarly to
the apply
-syntax: Allowed values are 1
for normalization
over features, 2
over samples, and 3
for normalization
by the global maximum) and the parameter n.p
(vector norm to be
used, can be either 1
for x/sum(x)
or 2
for
x/sqrt(sum(x^2))
).
'std'
- z-score standardization without any other
transformation
This method only requires the sd.min.q
parameter
'pass'
- pass-through normalization will not change
the features
The function additionally allows to perform a frozen normalization on a
different dataset. After normalizing the first dataset, the norm_feat
slot in the SIAMCAT object contains all parameters of the normalization,
which you can access via the norm_params accessor.
In order to perform a frozen normalization of a new dataset, you can run the
function supplying the normalization parameters as argument to
norm.param
:
norm.param=norm_params(siamcat_reference)
. See also the example below.
# Example data
data(siamcat_example)
# Simple example
siamcat_norm <- normalize.features(siamcat_example,
norm.method='rank.unit')
# log.unit example
siamcat_norm <- normalize.features(siamcat_example,
norm.method='log.unit',
norm.param=list(log.n0=1e-05, n.p=1, norm.margin=1))
# log.std example
siamcat_norm <- normalize.features(siamcat_example,
norm.method='log.std',
norm.param=list(log.n0=1e-05, sd.min.q=.1))
# Frozen normalization
# normalize the object siamcat with the same parameters as used in
# siamcat_reference
#
# this is not run
# siamcat_norm <- normalize.features(siamcat,
# norm.param=norm_params(siamcat_reference))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.