Learn R Programming

qvalue (version 2.4.2)

pi0est: Proportion of true null p-values

Description

Estimates the proportion of true null p-values, i.e., those following the Uniform(0,1) distribution.

Usage

pi0est(p, lambda = seq(0.05, 0.95, 0.05), pi0.method = c("smoother",
  "bootstrap"), smooth.df = 3, smooth.log.pi0 = FALSE, ...)

Arguments

p
A vector of p-values (only necessary input).
lambda
The value of the tuning parameter to estimate $\pi_0$. Must be in [0,1). Optional, see Storey (2002).
pi0.method
Either "smoother" or "bootstrap"; the method for automatically choosing tuning parameter in the estimation of $\pi_0$, the proportion of true null hypotheses.
smooth.df
Number of degrees-of-freedom to use when estimating $\pi_0$ with a smoother. Optional.
smooth.log.pi0
If TRUE and pi0.method = "smoother", $\pi_0$ will be estimated by applying a smoother to a scatterplot of $\log(\pi_0)$ estimates against the tuning parameter $\lambda$. Optional.
...
Arguments passed from qvalue function.

Value

  • Returns a list:
  • pi0A numeric that is the estimated proportion of true null p-values.
  • pi0.lambdaA vector of the proportion of null values at the $\lambda$ values (see vignette).
  • lambdaA vector of $\lambda$ value(s) utilized in calculating pi0.lambda.
  • pi0.smoothA vector of fitted values from the smoother fit to the $\pi_0$ estimates at each lambda value (pi0.method="bootstrap" returns NULL).

Details

If no options are selected, then the method used to estimate $\pi_0$ is the smoother method described in Storey and Tibshirani (2003). The bootstrap method is described in Storey, Taylor & Siegmund (2004). A closed form solution of the bootstrap method is used in the package and is significantly faster.

References

Storey JD. (2002) A direct approach to false discovery rates. Journal of the Royal Statistical Society, Series B, 64: 479-498. http://onlinelibrary.wiley.com/doi/10.1111/1467-9868.00346/abstract

Storey JD and Tibshirani R. (2003) Statistical significance for genome-wide experiments. Proceedings of the National Academy of Sciences, 100: 9440-9445. 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, Taylor JE, and Siegmund D. (2004) Strong control, conservative point estimation, and simultaneous conservative consistency of false discovery rates: A unified approach. Journal of the Royal Statistical Society, Series B, 66: 187-205. http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2004.00439.x/abstract

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

Examples

Run this code
# import data
data(hedenfalk)
p <- hedenfalk$p

# proportion of null p-values
nullRatio <- pi0est(p)
nullRatioS <- pi0est(p, lambda=seq(0.40, 0.95, 0.05), smooth.log.pi0="TRUE")
nullRatioM <- pi0est(p, pi0.method="bootstrap")

# check behavior of estimate over lambda
# also, pi0est arguments can be passed to qvalue
qobj = qvalue(p, lambda=seq(0.05, 0.95, 0.1), smooth.log.pi0="TRUE")
hist(qobj)
plot(qobj)

Run the code above in your browser using DataLab