EBMTP
. The object has slots for the various data used to make multiple testing decisions, in particular adjusted p-values.statistic
numeric
, observed test statistics for each hypothesis, specified by the values of the MTP
arguments test
, robust
, standardize
, and psi0
.estimate
sampsize
numeric
, number of columns (i.e. observations) in the input data set.rawp
numeric
, unadjusted, marginal p-values for each hypothesis.adjp
numeric
, adjusted (for multiple testing) p-values for each hypothesis (computed only if the get.adjp
argument is TRUE).reject
'matrix'
, rejection indicators (TRUE for a rejected null hypothesis), for each value of the nominal Type I error rate alpha
.rawdist
keep.rawdist=TRUE
and if nulldist
is one of 'boot.ctr', 'boot.cs', or 'boot.qt'). This slot must not be empty if one wishes to call update
to change choice of bootstrap-based null distribution.nulldist
keep.nulldist=TRUE
). By default (i.e., for nulldist='boot.cs'
), the entries of nulldist
are the null value shifted and scaled bootstrap test statistics, with one null test statistic value for each hypothesis (rows) and bootstrap iteration (columns).nulldist.type
nulldist
argument in the call to MTP, i.e., 'boot.cs', 'boot.ctr', 'boot.qt', or 'ic'.marg.null
nulldist='boot.qt'
, a character value returning which choice of marginal null distribution was used by the MTP. Can be used to check default values or to ensure manual settings were correctly applied.marg.par
nulldist='boot.qt'
, a numeric matrix returning the parameters of the marginal null distribution(s) used by the MTP. Can be used to check default values or to ensure manual settings were correctly applied.falsepos
B
) indicating the number of guessed false positives when using the corresponding value of the observed test statistic as a cut-off. Not returned unless keep.falsepos=TRUE
.truepos
B
) indicating the number of guessed true positives when using the corresponding value of the observed test statistic as a cut-off. Not returned unless keep.truepos=TRUE
.errormat
falsepos
, and, if applicable, truepos
. Not returned unless keep.errormat=TRUE
.EB.h0M
prior='EBLQV'
, this value is used as the prior 'pi' during evaluation of the local q-value function.prior
prior.type
prior
in the original call to EBMTP
. One of 'conservative', 'ABH', or 'EBLQV'.lqv
Hsets
nulldist
, containing the Bernoulli realizations of the estimated local q-values stored in lqv
which were used to partition the hypotheses into guessed sets of true and false null hypotheses at each round of (re)sampling. Not returned unless keep.Hsets=TRUE
.label
keep.label=TRUE
, a vector storing the values used in the argument Y
. Storing this object is particularly important when one wishes to update EBMTP objects with F-statistics using default marg.null
and marg.par
settings when nulldist='boot.qt'
. index
t(combn(p,2))
, where p
is the number of variables in X
. This matrix gives the indices of the variables considered in each pairwise correlation. For all other tests, this slot is empty, as the indices are in the same order as the rows of X
.call
call
, the call to the MTP function.seed
MTP
. This argument is currently used only for the bootstrap null distribution (i.e., for nulldist="boot.xx"
). See ?set.seed
for details.signature(x = "EBMTP")
EBMTP
class, which operates selectively on each slot of an EBMTP
instance to retain only the data related to the specified hypotheses.EBMTP
to an object of class list
, with an entry for each slot.EBMTP
class, produces the following graphical summaries of the results of a EBMTP. The type of display may be specified via the which
argument. 1. Scatterplot of number of rejected hypotheses vs. nominal Type I error rate. 2. Plot of ordered adjusted p-values; can be viewed as a plot of Type I error rate vs. number of rejected hypotheses. 3. Scatterplot of adjusted p-values vs. test statistics (also known as "volcano plot"). 4. Plot of unordered adjusted p-values. The plot method for objects of class EBMTP
does not return the plots associated with which=5
(using confidence regions) or with which=6
(pertaining to cut-offs) as it does for objects of class MTP
. This is because the function EBMTP
currently only returns adjusted p-values. The argument logscale
(by default equal to FALSE) allows one to use the negative decimal logarithms of the adjusted p-values in the second, third, and fourth graphical displays. The arguments caption
and sub.caption
allow one to change the titles and subtitles for each of the plots (default subtitle is the MTP function call). Note that some of these plots are implemented in the older function mt.plot
.EBMTP
class, returns a description of an object of class EBMTP
, including sample size, number of tested hypotheses, type of test performed (value of argument test
), Type I error rate (value of argument typeone
), nominal level of the test (value of argument alpha
), name of the EBMTP (value of argument method
), call to the function EBMTP
. In addition, this method produces a table with the class, mode, length, and dimension of each slot of the EBMTP
instance.
EBMTP
class, provides numerical summaries of the results of an EBMTP and returns a list with the following three components. 1. rejections: A data.frame with the number(s) of rejected hypotheses for the nominal Type I error rate(s) specified by the alpha
argument of the function MTP
. 2. index: A numeric vector of indices for ordering the hypotheses according to first adjp
, then rawp
, and finally the absolute value of statistic
(not printed in the summary). 3. summaries: When applicable (i.e., when the corresponding quantities are returned by MTP
), a table with six number summaries of the distributions of the adjusted p-values, unadjusted p-values, test statistics, and parameter estimates.EBMTP
class, provides a mechanism to re-run the MTP with different choices of the following arguments - nulldist, alternative, typeone, k, q, alpha, smooth.null, bw, kernel, prior, keep.nulldist, keep.rawdist, keep.falsepos, keep.truepos, keep.errormat, keep.margpar. When evaluate is 'TRUE', a new object of class EBMTP is returned. Else, the updated call is returned. The EBMTP
object passed to the update method must have either a non-empty rawdist
slot or a non-empty nulldist
slot (i.e., must have been called with either 'keep.rawdist=TRUE' or 'keep.nulldist=TRUE'). Additionally, when calling EBupdate
for any Type I error rate other than FWER, the typeone
argument must be specified (even if the original object did not control FWER). For example,
typeone="fdr"
, would always have to be specified, even if the original object also controlled the FDR. In other words, for all function arguments, it is safest to always assume that you
are updating from the EBMTP
default function settings, regardless of the original call to the EBMTP
function. Currently, the main advantage of the EBupdate
method is that it prevents the need for repeated estimation of the test statistics null distribution. To save on memory, if one knows ahead of time that one will want to compare different choices of bootstrap-based null distribution, then it is both necessary and sufficient to specify 'keep.rawdist=TRUE', as there is no other means of moving between null distributions other than through the non-transformed non-parametric bootstrap distribution. In this case, 'keep.nulldist=FALSE' may be used. Specifically, if an object of class EBMTP
contains a non-empty rawdist
slot and an empty nulldist
slot, then a new null distribution will be generated according to the values of the nulldist=
argument in the original call to EBMTP
or any additional specifications in the call to update
. On the other hand, if one knows that one wishes to only update an EBMTP
object in ways which do not involve choice of null distribution, then 'keep.nulldist=TRUE' will suffice and 'keep.rawdist' can be set to FALSE
(default settings). The original null distribution object will then be used for all subsequent calls to update
. N.B.: Note that keep.rawdist=TRUE
is only available for the bootstrap-based resampling methods. The non-null distribution does not exist for the permutation or influence curve multivariate normal null distributions. EBMTP
to objects of class MTP
. Slots common to both objects are taken from the object of class EBMTP
and used to create a new object of class MTP
. Once an object of class MTP
is created, one may use the method update
to perform resampling-based multiple testing (as would have been done with calls to MTP
) without the need for repeated resampling.Y. Benjamini and Y. Hochberg (2000). On the adaptive control of the false discovery rate in multiple testing with independent statistics. J. Behav. Educ. Statist. Vol 25: 60-83.
Y. Benjamini, A. M. Krieger and D. Yekutieli (2006). Adaptive linear step-up procedures that control the false discovery rate. Biometrika. Vol. 93: 491-507.
M.J. van der Laan, M.D. Birkner, and A.E. Hubbard (2005). Empirical Bayes and Resampling Based Multiple Testing Procedure Controlling the Tail Probability of the Proportion of False Positives. Statistical Applications in Genetics and Molecular Biology, 4(1). http://www.bepress.com/sagmb/vol4/iss1/art29/
S. Dudoit and M.J. van der Laan. Multiple Testing Procedures and Applications to Genomics. Springer Series in Statistics. Springer, New York, 2008.
S. Dudoit, H. N. Gilbert, and M. J. van der Laan (2008). Resampling-based empirical Bayes multiple testing procedures for controlling generalized tail probability and expected value error rates: Focus on the false discovery rate and simulation study. Biometrical Journal, 50(5):716-44. http://www.stat.berkeley.edu/~houston/BJMCPSupp/BJMCPSupp.html.
H.N. Gilbert, M.J. van der Laan, and S. Dudoit. Joint multiple testing procedures for graphical model selection with applications to biological networks. Technical report, U.C. Berkeley Division of Biostatistics Working Paper Series, April 2009. URL http://www.bepress.com/ucbbiostat/paper245.
EBMTP
, EBMTP-methods
,
MTP
, MTP-methods
,
[-methods
, as.list-methods
, print-methods
, plot-methods
, summary-methods
, mtp2ebmtp
,
ebmtp2mtp
## See EBMTP function: ? EBMTP
Run the code above in your browser using DataLab