fitPLM {affyPLM} | R Documentation

## 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` | an `AffyBatch`
`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

### 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.

### Value

An `PLMset`

### Author(s)

Ben Bolstad bmb@bmbolstad.com

### 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

    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
      ## Not run: Pset <- fitPLM(Dilution,model=PM ~ -1 + probes +liver,normalize=FALSE,background=FALSE)
      ## Not run: coefs(Pset)[1:10,]

      ## Not run: 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))
      ## Not run: 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
      ## Not run: Pset <- fitPLM(Dilution,model=PM~-1+probes+scanner,normalize=FALSE,background=FALSE,model.param=list(se.type=2))
      se(Pset)[1:10,]
    }

[Package affyPLM version 1.20.0 Index]