# pi0.est: Estimation of the prior probability In siggenes: Multiple testing using SAM and Efron's empirical Bayes approaches

## Description

Estimates the prior probability that a gene is not differentially expressed by the natural cubic splines based method of Storey and Tibshirani (2003).

## Usage

 ```1 2``` ``` pi0.est(p, lambda = seq(0, 0.95, 0.05), ncs.value = "max", ncs.weights = NULL) ```

## Arguments

 `p` a numeric vector containing the p-values of the genes. `lambda` a numeric vector or value specifying the lambda values used in the estimation of the prior probability. `ncs.value` a character string. Only used if `lambda` is a vector. Either `"max"` or `"paper"`. For details, see `Details`. `ncs.weights` a numerical vector of the same length as `lambda` containing the weights used in the natural cubic spline fit. By default no weights are used.

## Details

For each value of `lambda`, pi0(lambda) is computed by the number of p-values `p` larger than lambda divided by (1-lambda)\m, where m is the length of `p`.

If `lambda` is a value, pi0(lambda) is the estimate for the prior probabiltity pi0 that a gene is not differentially expressed.

If `lambda` is a vector, a natural cubic spline h with 3 degrees of freedom is fitted through the data points (lambda,pi0(lambda)), where each point is weighed by `ncs.weights`. pi0 is estimated by h(v), where v=max{lambda} if `ncs.value="max"`, and v=1 if `ncs.value="paper"`.

## Value

 `p0` the estimate of the prior probability that a gene is not differentially expressed. `spline.out` the output of `smooth.spline` used in this function.

## Author(s)

Holger Schwender, [email protected]

## References

Storey, J.D., and Tibshirani, R. (2003). Statistical Significance for Genome-wide Studies. PNAS, 100, 9440-9445.

`SAM-class`,`sam`,`qvalue.cal`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```## Not run: # Load the package multtest and the data of Golub et al. (1999) # contained in multtest. library(multtest) data(golub) # Perform a SAM analysis. sam.out<-sam(golub, golub.cl, B=100, rand=123) # Estimate the prior probability that a gene is not significant pi0.est(sam.out@p.value) ## End(Not run) ```