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. FDX:::match.pvals().
A vector where each raw p-value has been replaced by its nearest neighbor, if
necessary.
Arguments
test.results
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.
pCDFlist
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.
pCDFlist.indices
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.
Details
Well computed raw p-values should already belong to their respective CDF
support. So this function is called at the beginning of discrete.GR(),
discrete.LR(), discrete.PB() and their respective wrappers, just in
case raw $p$-values may be biased.
For each raw p-value that needs to be rounded, a warning is issued.