Dudoit-class {ClassComparison} | R Documentation |
An implementation of the method of Dudoit and colleagues to apply the Westfall-Young adjustment to p-values to control the family-wise error rate when analyzing 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
ExpressionSet 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
ExpressionSet , 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)