convest {limma} | R Documentation |
Returns an estimate of the proportion of true null hypotheses using a convex decreasing density estimate on a vector of p-values.
convest(p, niter = 100, doplot = FALSE, doreport = FALSE)
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 . |
The proportion of true null hypotheses is often denoted pi0.
Numeric value in the interval [0,1] representing he estimated proportion of true null hypotheses.
Egil Ferkingstad and Mette Langaas
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 08.Tests for other functions for producing or interpretting p-values.
# 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())