DiscreteFDR (version 1.3.7)

DBR: [HBR-\(\lambda\)] procedure

Description

Apply the [HBR-\(\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
)

Value

A DiscreteFDR S3 class object whose elements are:

Rejected

Rejected raw p-values

Indices

Indices of rejected hypotheses

Num.rejected

Number of rejections

Adjusted

Adjusted p-values

Critical.constants

Critical constants (if requested)

Method

Character string describing the used algorithm, e.g. 'Discrete Benjamini-Hochberg procedure (step-up)'

Signif.level

Significance level alpha

Lambda

Value of lambda.

Data$raw.pvalues

The values of raw.pvalues

Data$pCDFlist

The values of pCDFlist

Data$data.name

The respective variable names of raw.pvalues and pCDFlist

Arguments

raw.pvalues

vector of the raw observed p-values, as provided by the end user and before matching with their nearest neighbor 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).

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.

References

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

See Also

discrete.BH

Examples

Run this code
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.fast <- DBR(raw.pvalues, pCDFlist)
summary(DBR.fast)
DBR.crit <- DBR(raw.pvalues, pCDFlist, ret.crit.consts = TRUE)
summary(DBR.crit)

Run the code above in your browser using DataLab