classifyTests {limma} | R Documentation

## Treat Simultaneous T-Tests as Classification Problem

### Description

Classify a series of related t-statistics as up, down or not significant.

### Usage

    classifyTests(tstat, cor.matrix=NULL, design=NULL, contrasts=NULL, df=Inf, p.value=0.01)
    classifyTestsT(tstat, t1=4, t2=3)
    classifyTestsP(tstat, df=Inf, p.value=0.05, method="holm")

### Arguments

`tstat` | numeric matrix of t-statistics or an `MArrayLM` object from which the t-statistics may be extracted.
`cor.matrix` | covariance matrix of each row of t-statistics. Defaults to the identity matrix.
`design` | full rank numeric design matrix. Not used if `cor.matrix` is specified.
`contrasts` | numeric matrix with columns specifying contrasts of the coefficients of interest. Not used if `cor.matrix` is specified.
`df` | numeric vector giving the degrees of freedom for the t-statistics. May have length 1 or length equal to the number of rows of `tstat`.
`p.value` | numeric value between 0 and 1 giving the desired size of the test
`t1` | first critical value for absolute t-statistics
`t2` | second critical value for absolute t-statistics
`method` | character string specifying p-value adjustment method. See `p.adjust` for possible values.

### Details

`classifyTests` classifies using a nested F-test approach giving particular attention to correctly classifying genes which have two or more significant t-statistics, i.e., are differential expressed under two or more conditions. `classifyTestsT` and `classifyTestsP` implement simpler classification schemes based on threshold or critical values for the individual t-statistics in the case of `classifyTestsT` or p-values obtained from the t-statistics in the case of `classifyTestsP`.

Rows of `tstat` correspond to genes and columns to coefficients or contrasts. For each row of `tstat`, F-statistics are constructed from the t-statistics. If the overall F-statistic is significant, then the function makes a best choice as to which t-statistics contributed to this result. The methodology is based on the principle that any t-statistic should be called significant if the F-test is still significant for that row when all the larger t-statistics are set to the same absolute size as the t-statistic in question.

If `tstat` is an `MArrayLM` object, then all arguments except for `p.value` are extracted from it.

`cor.matrix` is the same as the correlation matrix of the coefficients from which the t-statistics are calculated. If `cor.matrix` is not specified, then it is calculated from `design` and `contrasts` if at least `design` is specified or else defaults to the identity matrix. In terms of `design` and `contrasts`, `cor.matrix` is obtained by standardizing the matrix `t(contrasts) %*% solve(t(design) %*% design) %*% contrasts` to a correlation matrix.

### Value

A list with components

`classification` | numeric matrix with elements `-1`, `0` or `1` depending on whether each t-statistic is classified as significantly negative, not significant or significantly positive respectively
`Fstat` | numeric vector containing moderated F-statistics for testing the contrasts simultaneously zero

### Author(s)

Gordon Smyth

### See Also

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

### Examples

    tstat <- matrix(c(0,5,0, 0,2.5,0, -2,-2,2, 1,1,1), 4, 3, byrow=TRUE)
    classifyTests(tstat)

    # See also the examples for contrasts.fit and vennDiagram

[Package Contents]