Description Usage Arguments Details Value Examples
View source: R/normalize_features.r
This function performs feature normalization according to user- specified parameters.
1 2 3 4 5 6 7 | 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: |
There are seven different normalization methods available:
'rank.unit'
- converts features to ranks and normalizes
each column (=sample) by the square root of the sum of ranks
'rank.std'
- converts features to ranks and applies z-score
standardization
'log.clr'
- centered log-ratio transformation (with the
addition of pseudocounts)
'log.std'
- log-transforms features (after addition of
pseudocounts) and applies z-score standardization
'log.unit'
- log-transforms features (after addition of
pseudocounts) and normalizes by features or samples with different norms
'std'
- z-score standardization without any other
transformation
'pass'
- pass-through normalization will not change the
features
The list entries in 'norm.param'
specify the normalzation parameters,
which are dependant on the normalization method of choice:
'rank.unit' or 'pass'
does not require any other parameters
'rank.std' and 'std'
requires sd.min.q
, quantile
of the distribution of standard deviations of all features that will
be added to the denominator during standardization in order to avoid
underestimation of the standard deviation, defaults to 0.1
'log.clr'
requires log.n0
, which is the pseudocount
to be added before log-transformation, defaults to NULL
leading
to the estimation of log.n0
from the data
'log.std'
requires both log.n0
and sd.min.q
,
using the same default values
'log.unit'
requires next to log.n0
also the
parameters n.p
and norm.margin
. n.p
specifies the
vector norm to be used, can be either 1
for x/sum(x)
or
2
for x/sqrt(sum(x^2))
. The parameter norm.margin
specifies the 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.
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.
an object of class siamcat-class with normalized features
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # 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
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.