znormix: Normal-mixture based estimation of LFDR and pi0

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/znormix.R

Description

This function implements the method of McLachLan, Bean and Jones (2006).

Usage

1
znormix(p, theoretical.null=TRUE, start.pi0, eps=1e-5, niter=Inf, verbose=FALSE)

Arguments

p

a numeric vector the p-values

theoretical.null

logical scalar, indicating whether theoretical N(0,1) null distribution is assumed for z-scores.

start.pi0

optional numeric scalar, starting value of pi0 for EM algorithm; if missing, qvalue will be called with default arguments to get this starting value.

eps

numeric scalar, maximum tolerable absolute difference of parameter estimates for successive iterations in the EM algorithm.

niter

numeric scalar, maximum number of EM iterations.

verbose

logical scalar, indicating whether excessive outputs will be printed during EM algorithm.

Details

A two-component normal mixture model is fit thru EM algorithm on the z-scores, where z=qnorm(1-p).

Value

A length 5 numeric named vector of estimated parameters, with class 'znormix' and attributes

theoretical.null

the same as input.

converged

logical, convergence status.

iter

numeric, number of iterations.

call

the match.call() result.

lfdr

numeric vector of local false discovery rates, with order being the same as the input p-values.

fdr

numeric vector of false discovery rates, with order being the same as the input p-values.

Note

There are two small differences with McLachlan, Bean and Jones (2006):

Author(s)

Long Qu

References

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.

See Also

qvalue, histf1

Examples

1
2
3
set.seed(9992722)
p=1-pnorm(c(rnorm(7000),rnorm(3000,1)))
znormix(p, eps=1e-5)['pi0'] ##  0.6759555

pi0 documentation built on May 2, 2019, 4:47 p.m.