This function implements the method of McLachLan, Bean and Jones (2006).
znormix(p, theoretical.null=TRUE, start.pi0, eps=1e-5, niter=Inf, verbose=FALSE)
a numeric vector the p-values
logical scalar, indicating whether theoretical N(0,1) null distribution is assumed for z-scores.
optional numeric scalar, starting value of pi0 for EM algorithm; if missing, qvalue
will be called with default arguments to get this starting value.
numeric scalar, maximum tolerable absolute difference of parameter estimates for successive iterations in the EM algorithm.
numeric scalar, maximum number of EM iterations.
logical scalar, indicating whether excessive outputs will be printed during EM algorithm.
A length 5 numeric named vector of estimated parameters, with class 'znormix' and attributes
the same as input.
logical, convergence status.
numeric, number of iterations.
the match.call()
result.
numeric vector of local false discovery rates, with order being the same as the input p-values.
numeric vector of false discovery rates, with order being the same as the input p-values.
A two-component normal mixture model is fit thru EM algorithm on the z-scores, where z=qnorm(1-p)
.
G.J. McLachlan, R.W. Bean and L. Ben-Tovim Jones. (2006) A Simple implementation of a normal mixture approach to differential gene expression in multiclass microarrays. Bioinformatics, 22(13):1608-1615.
# NOT RUN {
set.seed(99722)
p=1-pnorm(c(rnorm(7000),rnorm(3000,1)))
znormix(p)['pi0']
# }
Run the code above in your browser using DataLab