convest package:limma R Documentation _E_s_t_i_m_a_t_e _P_r_o_p_o_r_t_i_o_n _o_f _T_r_u_e _N_u_l_l _H_y_p_o_t_h_e_s_e_s _D_e_s_c_r_i_p_t_i_o_n: Returns an estimate of the proportion of true null hypotheses using a convex decreasing density estimate on a vector of p-values. _U_s_a_g_e: convest(p, niter = 100, doplot = FALSE, doreport = FALSE) _A_r_g_u_m_e_n_t_s: 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'. _D_e_t_a_i_l_s: The proportion of true null hypotheses is often denoted pi0. _V_a_l_u_e: Numeric value in the interval [0,1] representing he estimated proportion of true null hypotheses. _A_u_t_h_o_r(_s): Egil Ferkingstad and Mette Langaas _R_e_f_e_r_e_n_c_e_s: 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 _S_e_e _A_l_s_o: See 08.Tests for other functions for producing or interpretting p-values. _E_x_a_m_p_l_e_s: # 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())