Learn R Programming

crmn (version 0.0.21)

normFit: Fit a normalization model

Description

Fit the parameters for normalization of a metabolomics data set.

Usage

normFit(
  object,
  method,
  one = "Succinate_d4",
  factors = NULL,
  lg = TRUE,
  fitfunc = lm,
  formula = TRUE,
  ...
)

Arguments

object

an ExpressionSet or a matrix (with samples as columns) in which case the standards must be passed on via ...

method

chosen normalization method

one

single internal standard to use for normalization

factors

column names in the pheno data slot describing the biological factors. Or a design matrix directly.

lg

logical indicating that the data should be log transformed

fitfunc

the function that creates the model fit for normalization, must use the same interfaces as lm.

formula

if fitfunc has formula interface or not

...

passed on to standardsFit, standards, analytes

Value

a normalization model

Details

Normalization is first done by fitting a model and then applying that model either to new data or the same data using normPred. Five different methods are implemented.

t1

divide by row-means of the \(L_2\) scaled internal standards

one

divide by value of a single, user defined, internal standard

totL2

divide by the square of sums of the full dataset

nomis

See Sysi-Aho et al.

crmn

See Redestig et al.

References

Sysi-Aho, M.; Katajamaa, M.; Yetukuri, L. & Oresic, M. Normalization method for metabolomics data using optimal selection of multiple internal standards. BMC Bioinformatics, 2007, 8, 93

Redestig, H.; Fukushima, A.; Stenlund, H.; Moritz, T.; Arita, M.; Saito, K. & Kusano, M. Compensation for systematic cross-contribution improves normalization of mass spectrometry based metabolomics data Anal Chem, 2009, 81, 7974-7980

See Also

normPred, standards, model.matrix

Examples

Run this code
# NOT RUN {
data(mix)
nfit <- normFit(mix, "crmn", factors="type", ncomp=3)
slplot(sFit(nfit)$fit$pc, scol=as.integer(mix$runorder))
## same thing
Y <- exprs(mix)
G <- model.matrix(~-1+mix$type)
isIS <- fData(mix)$tag == 'IS'
nfit <- normFit(Y, "crmn", factors=G, ncomp=3, standards=isIS)
slplot(sFit(nfit)$fit$pc, scol=as.integer(mix$runorder))
# }

Run the code above in your browser using DataLab