| Dudoit-class | 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, y, xlab='T-Statistic', ylab='P-Value', ...)
## 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
|
classes |
If |
nPerm |
integer scalar specifying the number of permutations to perform |
verbose |
logical scalar. If |
object |
object of class |
alpha |
numeric scalar specifying the target family-wise error rate |
x |
object of class |
y |
Nothing, since it is supposed to be missing. Changes to the Rd processor require documenting the missing entry. |
xlab |
character string specifying label for the x axis |
ylab |
character string specifying label for the y axis |
... |
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 selectSignificant 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:numeric vector of adjusted p-values.
t.statistics:Object of class numeric
containing the computed t-statistics.
p.values:Object of class numeric containing
the computed p-values.
groups:Object of class character containing
the names of the classes being compared.
call:Object of class 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.
Determine cutoffs on
the adjusted p-values at the desired significance level. In other
words, this function simply returns alpha.
Compute a logical vector for selecting significant test results.
Count the number of significant test results.
signature(x=Dudoit, y=missing): ...
Kevin R. Coombes krc@silicovore.com
Dudoit S, Yang YH, Callow MJ, Speed TP.
Statistical Methods for Identifying Differentially Expressed Genes in
Replicated cDNA Microarray Experiments.
Statistica Sinica (2002), 12(1): 111-139.
Westfall PH, Young SS.
Resampling-based multiple testing: examples and methods for p-value
adjustment.
Wiley series in probability and mathematics statistics.
John Wiley and Sons, 1993.
Bum,
MultiTtest,
SmoothTtest
showClass("Dudoit")
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 many more
# than 10 permutations, but this is just an example...
dud <- Dudoit(fake.data, fake.class, nPerm=10)
summary(dud)
plot(dud)
countSignificant(dud, 0.05)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.