fdr.estimate.eta0 {GeneTS}R Documentation

Estimate the Proportion of Null p-Values

Description

fdr.estimate.eta0 estimates the proportion eta0 of null p-values in a given vector of p-values.

Usage

fdr.estimate.eta0(p, method=c("conservative", "adaptive", "bootstrap", "smoother"),
    lambda=seq(0,0.95,0.05) )

Arguments

p vector of p-values
method algorithm used to estimate the proportion of null p-values. Available options are "conservative" (default), "adaptive", "bootstrap", and "smoother".
lambda optional tuning parameter vector needed for "bootstrap" and "smoothing" methods (defaults to seq(0,0.95,0.05)) - see Storey (2002) and Storey and Tibshirani (2003).

Details

This quantity eta0, i.e. the proportion eta0 of null p-values in a given vector of p-values, is an important parameter when controlling the false discovery rate (FDR). A conservative choice is eta0 = 1 but a choice closer to the true value will increase efficiency and power - see Benjamini and Hochberg (1995, 2000) and Storey (2002) for details.

The function fdr.estimate.eta0 provides four algorithms: the "conservative" method always returns eta0 = 1 (Benjamini and Hochberg, 1995), "adaptive" uses the approach suggested in Benjamini and Hochberg (2000), "bootstrap" employs the method from Storey (2002), and "smoother" uses the smoothing spline approach in Storey and Tibshirani (2003).

Value

The estimated proportion eta0 of null p-values.

Author(s)

Konstantinos Fokianos (http://www.ucy.ac.cy/~fokianos/) and Korbinian Strimmer (http://www.www.statistik.lmu.de/~strimmer/).

Adapted in part from S-PLUS code by Y. Benjamini (http://www.math.tau.ac.il/~roee/FDR_Splus.txt) and R code from J.D. Storey (http://faculty.washington.edu/~jstorey/).

References

"conservative" procedure: Benjamini, Y., and Y. Hochberg (1995) Controlling the false discovery rate: a practical and powerful approach to multiple testing. J. Roy. Statist. Soc. B, 57, 289–300.

"adaptive" procedure: Benjamini, Y., and Y. Hochberg (2000) The adaptive control of the false discovery rate in multiple hypotheses testing with independent statistics. J. Behav. Educ. Statist., 25, 60–83.

"bootstrap" procedure: Storey, J. D. (2002) A direct approach to false discovery rates. J. Roy. Statist. Soc. B., 64, 479–498.

"smoother" procedure: Storey, J. D., and R. Tibshirani (2003) Statistical significance for genome-wide experiments. Proc. Nat. Acad. Sci. USA, 100, 9440-9445.

See Also

fdr.control.

Examples

# load mixfdr library
library("GeneTS")

# simulate case-control data
p <- 100 # total number of variables
d <- 20  # number of cases where case and control differs
n <- 5   # sample size per group

r1a <- rnorm(d*n,     mean = 3, sd = 1)
r1b <- rnorm((p-d)*n, mean = 0, sd = 1)
r2 <- rnorm(p*n, mean = 0, sd = 1)
x1 <- matrix(c(r1a, r1b), nrow = p, byrow = TRUE) # group 1.
x2 <- matrix(r2, nrow = p, byrow = TRUE) # group 2.

# p-values from t-test
pval <- numeric(p)
for(i in 1:p) pval[i] <- t.test(x1[i, ], x2[i, ])$p.value

# Proportion of null p-values for different methods
fdr.estimate.eta0(pval)
fdr.estimate.eta0(pval, method="adaptive")
fdr.estimate.eta0(pval, method="bootstrap")
fdr.estimate.eta0(pval, method="smoother")

# FDR test on the level 0.05 (assuming eta0=0
fdr.control(pval, Q = 0.05)  

# FDR test on the level 0.05 (estimating eta0)
e0 <- fdr.estimate.eta0(pval, method="adaptive")
fdr.control(pval, Q = 0.05, eta0=e0)  

[Package GeneTS version 2.8.0 Index]