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

Egil Ferkingstad, Mette Langaas and Bo Lindqvist (2003). Estimating the proportion of true null hypotheses, with application to DNA microarray data. Preprint Statistics No. 4/2003, Department of Mathematical Sciences, Norwegian University of Science and Technology. http://www.math.ntnu.no/~mettela/SFG/research.imf

### 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.2.0 Index]