| Dudoit-class {ClassComparison} | R Documentation |
An implementation of the method of Dudoit and colleagues to apply te Wetfall-Young adjustment to p-values to control the family-wise error rate when analysing microarray data
Dudoit(data, classes, nPerm = 1000, verbose = TRUE) ## S4 method for signature 'Dudoit, missing': plot(x, ylab='T statistics', ...) ## S4 method for signature 'Dudoit': cutoffSignificant(object, alpha, ...) ## S4 method for signature 'Dudoit': selectSignificant(object, alpha, ...) ## S4 method for signature 'Dudoit': countSignificant(object, alpha, ...)
data |
Either a data frame or matrix with numeric values or an
exprSet as defined in the BioConductor tools for
analyzing microarray data. |
classes |
If data is a data frame or matrix, then classes
must be either a logical vector or a factor. If data is an
exprSet, then classes can be a character string that
names one of the factor columns in the associated
phenoData subobject. |
nPerm |
An integer; the number of permutations to perform |
verbose |
A logical flag |
object |
A Dudoit object |
alpha |
A real number; the target family-wise error rate |
x |
A Dudoit object |
ylab |
Label for the y axis |
... |
The usual extra arguments for generic or plotting routines. |
In 2002, Dudoit and colleagues introduced a method to adjust the p-values when performing gene-by-gene tests for differential expression. The adjustment was based on the method of Westfall and Young, with the goal of controlling the family-wise error rate.
The standard method for plot returns what you would expect.
The cutoffSignificant method returns a real number (its input
value alpha). The selectSignficant method returns a
vector of logical values identifying the significant test results, and
countSignificant returns an integer counting the number of
significant test results.
As usual, objects can be created by new, but better methods are
available in the form of the Dudoit function. The basic
inputs to this function are the same as those used for row-by-row
statistical tests throughout the ClassComparison package; a detailed
description can be found in the MultiTtest class.
The additional input determines the number, nPerm, of
permutations to perform. The accuracy of the p-value adjustment
depends on this value. Since the implementation is in R (and does not
call out to something compiled like C or FORTRAN), however, the
computations are slow. The default value of 1000 can take a long
time with modern microarrays that contain 40,000 spots.
adjusted.p:t.statistics:numeric
containing the computed t-statistics. p.values:numeric containing
the computed p-values. groups:character containing
the names of the classes being compared. call:call containing the
function call that created the object.
Class MultiTtest, directly. In particular, objects of this class
inherit methods for summary, hist, and plot from
the base class.
alpha.signature(x = Dudoit, y = missing): ... Kevin R. Coombes <kcoombes@mdanderson.org>
Dudoit, S., Y.H. Yang, M.J. Callow, and T.P. Speed. 2002. Statistical Methods for Identifying Differentially Expressed Genes in Replicated cDNA Microarray Experiments, Statistica Sinica, 12(1): 111-139.
Westfall, P.H., Young, S.S. Resampling-based multiple testing: examples and methods for p-value adjustment. Wiley series in probability and mathematics statistics. John Wiley and Sons, 1993.
ng <- 10000
ns <- 15
nd <- 200
fake.class <- factor(rep(c('A', 'B'), each=ns))
fake.data <- matrix(rnorm(ng*ns*2), nrow=ng, ncol=2*ns)
fake.data[1:nd, 1:ns] <- fake.data[1:nd, 1:ns] + 2
fake.data[(nd+1):(2*nd), 1:ns] <- fake.data[(nd+1):(2*nd), 1:ns] - 2
# the permutation test is slow. it really needs more than
# 100 permutations, but this is just an example...
dud <- Dudoit(fake.data, fake.class, nPerm=100)
summary(dud)
plot(dud)
countSignificant(dud, 0.05)
rm(ng, ns, nd, fake.class, fake.data, dud)