convest {limma}R Documentation

Estimate Proportion of True Null Hypotheses

Description

Returns an estimate of the proportion of true null hypotheses using a convex decreasing density estimate on a vector of p-values.

Usage

convest(p, niter = 100, doplot = FALSE, doreport = FALSE)

Arguments

p numeric vector of p-values, calculated using any test of your choice. Missing values are not allowed
niter number of iterations to be used in fitting the convex, decreasing density for the p-values. Default is 100.
doplot logical, should updated plots of fitted convex decreasing p-value density be produced at each iteration? Default is FALSE.
doreport logical, should the estimated proportion be printed at each iteration? Default is FALSE.

Details

The proportion of true null hypotheses is often denoted pi0.

Value

Numeric value in the interval [0,1] representing he estimated proportion of true null hypotheses.

Author(s)

Egil Ferkingstad and Mette Langaas

References

Ferkingstad, E., Langaas, M., and Lindqvist, B. (2005). Estimating the proportion of true null hypotheses, with application to DNA microarray data. Journal of the Royal Statistical Society Series B, 67, 555-572. Preprint at http://www.math.ntnu.no/~mettela/

See Also

See 08.Tests for other functions for producing or interpretting p-values.

Examples

# First simulate data, use no.genes genes and no.ind individuals,
# with given value of pi0. Draw from normal distribution with mean=0
# (true null) and mean=mean.diff (false null).

no.genes <- 1000
no.ind <- 20
pi0 <- 0.9
mean.diff <- 1
n1 <- round(pi0*no.ind*no.genes)
n2 <- round((1-pi0)*no.ind*no.genes)
x <- matrix(c(rnorm(n1,mean=0),rnorm(n2,mean=mean.diff)),ncol=no.ind,byrow=TRUE)

# calculate p-values using your favorite method, e.g.
pvals <- ebayes(lm.series(x))$p.value

# run the convex decreasing density estimator to estimate pi0
convest(pvals,niter=100,doplot=interactive())

[Package limma version 2.18.2 Index]