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.