Learn R Programming

DiscreteFDR (version 1.2)

DBR: [DBR-lambda] procedure

Description

Apply the [DBR-lambda] procedure, with or without computing the critical constants, to a set of p-values and their discrete support.

Usage

DBR(raw.pvalues, pCDFlist, alpha = 0.05, lambda = NULL,
  ret.crit.consts = FALSE)

Arguments

raw.pvalues

vector of the raw observed p-values, as provided by the end user and before matching with their nearest neighbour in the CDFs supports.

pCDFlist

a list of the supports of the CDFs of the p-values. Each support is represented by a vector that must be in increasing order.

alpha

the target FDR level, a number strictly between 0 and 1.

lambda

a number strictly between 0 and 1. If lambda=NULL (by default), then lambda is chosen equal to alpha.

ret.crit.consts

a boolean. If TRUE, critical constants are computed and returned (this is computationally intensive).

Value

A list whose elements are:

Rejected

Rejected raw p-values

Indices

Indices of rejected hypotheses

k.hat

Number of rejections

Alpha

Maximum significance level for the transformed p-values for which a rejection occured, that is \(Alpha = alpha * k.hat / m\)

Critical.constants

Critical constants (if requested)

Adjusted

Adjusted p-values

Lambda

Value of lambda.

Details

[DBR-lambda] is the discrete version of the [Blanchard-Roquain-lambda] procedure (see References), the authors of the latter suggest to take lambda = alpha (see their Proposition 17), which explains the choice of the default value here.

This version: 2018-11-13.

References

G. Blanchard and E. Roquain (2009). Adaptive false discovery rate control under independence and dependence. Journal of Machine Learning Research, 10, 2837-2871.

See Also

discrete.BH, DiscreteFDR

Examples

Run this code
# NOT RUN {
X1 <- c(4, 2, 2, 14, 6, 9, 4, 0, 1)
X2 <- c(0, 0, 1, 3, 2, 1, 2, 2, 2)
N1 <- rep(148, 9)
N2 <- rep(132, 9)
Y1 <- N1-X1
Y2 <- N2-X2
df <- data.frame(X1,Y1,X2,Y2)
df
#Construction of the p-values and their support
df.formatted <- fisher.pvalues.support(counts = df, input = "noassoc")
raw.pvalues <- df.formatted$raw
pCDFlist <- df.formatted$support

DBR.su.fast <- DBR(raw.pvalues, pCDFlist)
DBR.su.crit <- DBR(raw.pvalues, pCDFlist, ret.crit.consts = TRUE)

# }

Run the code above in your browser using DataLab