Constructs the observed p-values from the raw observed p-values, by rounding
them to their nearest neighbor matching with the supports of their
respective CDFs (as in function p.discrete.adjust()
of package
discreteMTP
, which is no longer available on CRAN).
Note: This is an internal function and has to be called directly via
:::
, i.e. DiscreteFDR:::match.pvals()
.
match.pvals(test.results, pCDFlist, pCDFlist.indices = NULL)
A vector where each raw p-value has been replaced by its nearest neighbor, if necessary.
either a numeric vector with \(p\)-values or an R6 object of class DiscreteTestResults
from package DiscreteTests for which a discrete FDR procedure is to be performed.
list of the supports of the CDFs of the \(p\)-values; each list item must be a numeric vector, which is sorted in increasing order and whose last element equals 1.
list of numeric vectors containing the test indices that indicate to which raw \(p\)-value each unique support in pCDFlist
belongs; ignored if the lengths of test.results
and pCDFlist
are equal.
Well computed raw p-values should already belong to their respective CDF
support. So this function is called at the beginning of discrete.BH()
,
DBH()
, ADBH()
and DBR()
, just in case raw p-values are biased.
For each raw p-value that needs to be rounded, a warning is issued.
discrete.BH()
, DBR()