Last data update: 2014.03.03

R: Estimate local False Discovery Rate (FDR)
lfdrR Documentation

Estimate local False Discovery Rate (FDR)

Description

Estimate the local FDR values from p-values.

Usage

lfdr(p, pi0 = NULL, trunc = TRUE, monotone = TRUE, transf = c("probit",
  "logit"), adj = 1.5, eps = 10^-8, ...)

Arguments

p

A vector of p-values (only necessary input).

pi0

Estimated proportion of true null p-values. If NULL, then pi0est is called.

trunc

If TRUE, local FDR values >1 are set to 1. Default is TRUE.

monotone

If TRUE, local FDR values are non-decreasing with increasing p-values. Default is TRUE; this is recommended.

transf

Either a "probit" or "logit" transformation is applied to the p-values so that a local FDR estimate can be formed that does not involve edge effects of the [0,1] interval in which the p-values lie.

adj

Numeric value that is applied as a multiple of the smoothing bandwidth used in the density estimation. Default is adj=1.0.

eps

Numeric value that is threshold for the tails of the empirical p-value distribution. Default is 10^-8.

...

Additional arguments, passed to pi0est.

Details

It is assumed that null p-values follow a Uniform(0,1) distribution. The estimated proportion of true null hypotheses pi_0 is either a user-provided value or the value calculated via pi0est. This function works by forming an estimate of the marginal density of the observed p-values, say f(p). Then the local FDR is estimated as lFDR(p) = pi_0/f(p), with adjustments for monotonicity and to guarantee that lFDR(p) <= 1. See the Storey (2011) reference below for a concise mathematical definition of local FDR.

Value

A vector of estimated local FDR values, with each entry corresponding to the entries of the input p-value vector p.

Author(s)

John D. Storey

References

Efron B, Tibshirani R, Storey JD, and Tisher V. (2001) Empirical Bayes analysis of a microarray experiment. Journal of the American Statistical Association, 96: 1151-1160.
http://www.tandfonline.com/doi/abs/10.1198/016214501753382129

Storey JD. (2003) The positive false discovery rate: A Bayesian interpretation and the q-value. Annals of Statistics, 31: 2013-2035.
http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdf_1&handle=euclid.aos/1074290335

Storey JD. (2011) False discovery rates. In International Encyclopedia of Statistical Science.
http://genomine.org/papers/Storey_FDR_2011.pdf
http://www.springer.com/statistics/book/978-3-642-04897-5

See Also

qvalue, pi0est, hist.qvalue

Examples

# import data
data(hedenfalk)
p <- hedenfalk$p
lfdrVals <- lfdr(p)

# plot local FDR values
qobj = qvalue(p)
hist(qobj)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(qvalue)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/qvalue/lfdr.Rd_%03d_medium.png", width=480, height=480)
> ### Name: lfdr
> ### Title: Estimate local False Discovery Rate (FDR)
> ### Aliases: lfdr
> ### Keywords: Discovery False Rate, lfdr local
> 
> ### ** Examples
> 
> # import data
> data(hedenfalk)
> p <- hedenfalk$p
> lfdrVals <- lfdr(p)
> 
> # plot local FDR values
> qobj = qvalue(p)
> hist(qobj)
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>