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

    data(affybatch.example)
    Pset <- fitPLM(affybatch.example,model=PM ~ -1 + probes + samples)
    se(Pset)[1:5,]

    # A larger example testing weight image function
    data(Dilution)
    ## Not run: Pset <- fitPLM(Dilution,model=PM ~ -1 + probes + samples)
    ## Not run: image(Pset)
    ## Not run: NUSE(Pset) # NUSE

    #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.12.0 Index]