gls.series {limma} | R Documentation

## Fit Linear Model to Microarray Data by Generalized Least Squares

### Description

Fit a linear model genewise to expression data from a series of microarrays. The fit is by generalized least squares allowing for correlation between duplicate spots or related arrays. This is a utility function for `lmFit`.

### Usage

    gls.series(M,design=NULL,ndups=2,spacing=1,block=NULL,correlation=NULL,weights=NULL,...)

### Arguments

`M` | numeric matrix containing log-ratio or log-expression values for a series of microarrays, rows correspond to genes and columns to arrays.
`design` | numeric design matrix defining the linear model, with rows corresponding to arrays and columns to comparisons to be estimated. The number of rows must match the number of columns of `M`. Defaults to the unit vector meaning that the arrays are treated as replicates.
`ndups` | positive integer giving the number of times each gene is printed on an array. `nrow(M)` must be divisible by `ndups`. Ignored if `block` is not `NULL`.
`spacing` | the spacing between the rows of `M` corresponding to duplicate spots, `spacing=1` for consecutive spots. Ignored if `block` is not `NULL`.
`block` | vector or factor specifying a blocking variable on the arrays. Same length as `ncol(M)`.
`correlation` | numeric value specifying the inter-duplicate or inter-block correlation.
`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.
`...` | other optional arguments to be passed to `dupcor.series`.

### Details

This is a utility function used by the higher level function `lmFit`. Most users should not use this function directly but should use `lmFit` instead.

This function is for fitting gene-wise linear models when some of the expression values are correlated. The correlated groups may arise from replicate spots on the same array (duplicate spots) or from a biological or technical replicate grouping of the arrays. This function is normally called by `lmFit` and is not normally called directly by users.

Note that the correlation is assumed to be constant across genes. If `correlation=NULL` then a call is made to `duplicateCorrelation` to estimated the correlation.

### 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`
`correlation` | inter-duplicate or inter-block correlation
`qr` | QR decomposition of the generalized linear squares problem, i.e., the decomposition of `design` standardized by the Choleski-root of the correlation matrix defined by `correlation`

### Author(s)

Gordon Smyth

### See Also

`duplicateCorrelation`.

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

[Package limma version 3.50.3 Index]