Learn R Programming

affy (version 1.50.0)

fitPLM: Fit a Probe Level Model to Affymetrix Genechip Data.

Description

This function converts an AffyBatch into an PLMset by fitting a specified robust linear model to the probe level data.

Usage

fitPLM(object,model=PM ~ -1 + probes +samples,
       variable.type=c(default="factor"),
       constraint.type=c(default="contr.treatment"),
       subset=NULL,
       background=TRUE, normalize=TRUE, background.method="RMA.2",
       normalize.method="quantile", background.param=list(),
       normalize.param=list(), output.param=verify.output.param(),
       model.param=verify.model.param(object, model),
       verbosity.level=0)

Arguments

object
model
A formula describing the model to fit. This is slightly different from the standard method of specifying formulae in R. Read the description below
variable.type
a way to specify whether variables in the model are factors or standard variables
constraint.type
should factor variables sum to zero or have first variable set to zero (endpoint constraint)
subset
a vector with the names of probesets to be used. If NULL then all probesets are used.
normalize
logical value. If TRUE normalize data using quantile normalization
background
logical value. If TRUE background correct using RMA background correction
background.method
name of background method to use.
normalize.method
name of normalization method to use.
background.param
A list of parameters for background routines
normalize.param
A list of parameters for normalization routines
output.param
A list of parameters controlling optional output from the routine.
model.param
A list of parameters controlling model procedure
verbosity.level
An integer specifying how much to print out. Higher values indicate more verbose. A value of 0 will print nothing

Value

Details

This function fits robust Probe Level linear Models to all the probesets in an AffyBatch. This is carried out on a probeset by probeset basis. The user has quite a lot of control over which model is used and what outputs are stored. For more details please read the vignette.

References

Bolstad, BM (2004) Low Level Analysis of High-density Oligonucleotide Array Data: Background, Normalization and Summarization. PhD Dissertation. University of California, Berkeley.

See Also

expresso, rma, threestep

Examples

Run this code
if (require(affydata)) {
  data(Dilution)
  Pset <- fitPLM(Dilution, model=PM ~ -1 + probes + samples)
  se(Pset)[1:5,]

  image(Pset)
  NUSE(Pset) 

  #now lets try a wider class of models
  Pset <- fitPLM(Dilution,model=PM ~ -1 + probes +liver,
  normalize=FALSE,background=FALSE) 
  coefs(Pset)[1:10,]

  Pset <- fitPLM(Dilution,model=PM ~ -1 + probes + liver +
  scanner, normalize=FALSE,background=FALSE)
  coefs(Pset)[1:10,]

  #try liver as a covariate
  logliver <- log2(c(20,20,10,10))
  Pset <- fitPLM(Dilution, model=PM~-1+probes+logliver+scanner,
  normalize=FALSE, background=FALSE, variable.type=c(logliver="covariate")) 
  coefs(Pset)[1:10,]

  #try a different se.type
  Pset <- fitPLM(Dilution, model=PM~-1+probes+scanner,
  normalize=FALSE,background=FALSE,m odel.param=list(se.type=2)) 
  se(Pset)[1:10,]
}

Run the code above in your browser using DataLab