lm.series {limma}R Documentation

Linear Model for Series of Arrays

Description

Fit linear model for each gene given a series of arrays

Usage

lm.series(M,design=NULL,ndups=1,spacing=1,weights=NULL)

Arguments

M a numeric matrix containing log-ratios (M-values) for each spot on each array. Rows correspond to spots and columns to arrays.
design a numeric matrix containing the design matrix for linear model. The number of rows should agree with the number of columns of M. The number of columns will determine the number of coefficients estimated for each gene.
ndups number of duplicate spots. Each gene is printed ndups times in adjacent spots on each array.
spacing the spacing between the rows of M corresponding to duplicate spots, spacing=1 for consecutive spots
weights an optional numeric matrix of the same dimension as M containing weights for each spot. If it is of different dimension to M, it will be filled out to the same size.

Details

The linear model is fit for each gene by calling the function lm.fit or lm.wfit from the base library.

Value

A list with components

coefficients numeric matrix containing the estimated coefficients for each linear model. Same number of rows as M, same number of columns as design.
stdev.unscaled numeric matrix conformal with coef containing the unscaled standard deviations for the coefficient estimators. The standard errors are given by stdev.unscaled * sigma.
sigma numeric vector containing the residual standard deviation for each gene.
df.residual numeric vector giving the degrees of freedom corresponding to sigma.

Author(s)

Gordon Smyth

See Also

lm.fit.

An overview of linear model functions in limma is given by 5.LinearModels.

Examples

#  Simulate gene expression data,
#  6 microarrays and 100 genes with one gene differentially expressed in first 3 arrays
M <- matrix(rnorm(100*6,sd=0.3),100,6)
M[1,1:3] <- M[1,1:3] + 2
#  Design matrix includes two treatments, one for first 3 and one for last 3 arrays
design <- cbind(First3Arrays=c(1,1,1,0,0,0),Last3Arrays=c(0,0,0,1,1,1))
fit <- lm.series(M,design=design)
eb <- ebayes(fit)
#  Large values of eb$t indicate differential expression
qqt(eb$t[,1],df=fit$df+eb$df.prior)
abline(0,1)

[Package limma version 1.6.7 Index]