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.

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