Learn R Programming

cp4p (version 0.3.2)

adjust.p: Adjusted p-values for adaptive FDR control

Description

This function computes adjusted p-values for adaptive FDR control from a vector of raw (unadjusted) p-values.

Usage

adjust.p(p, pi0.method = 1, alpha = 0.05, nbins = 20, pz = 0.05)

Arguments

p
Numeric vector of raw p-values. Raw p-values are assumed without missing values, and between 0 and 1.
pi0.method
Numeric value between 0 and 1 corresponding to the proportion of true null hypotheses (non-differentially abundant proteins or peptides), or the name of an estimation method for this proportion among "st.boot", "st.spline",
alpha
A nominal type I error rate used for estimating the proportion of true null hypotheses (non-differentially abundant proteins or peptides) in the two-stage Benjamini and Hochberg procedure (used only if pi0.method="bky"). Default is 0.05.
nbins
Number of bins. Parameter used for the "jiang" and "histo" methods in estim.pi0. Default is 20.
pz
P-value threshold such as p-values below are associated to false null hypotheses. Used for the "slim" method in estim.pi0. Default is 0.05.

Value

  • A list composed of :
  • pi0The proportion of true null hypotheses (non-differentially abundant proteins or peptides) used to adjust p-values.
  • adjpA matrix of raw and adjusted p-values with rows corresponding to each test. First column corresponds to raw p-values and second column to adjusted p-values.

Details

The procedure uses an estimation of the proportion of true null hypotheses (non-differentially abundant proteins or peptides), the value or the name of which is precised in input. Next, this estimation is multiplied by the adjusted p-values of the Benjamini and Hochberg procedure (1995) to obtain the final adjusted p-values (see section 3 in Craiu and Sun (2008) for details). The adjusted p-values of the Benjamini and Hochberg procedure (1995) and of the two-stage Benjamini and Hochberg procedure (Benjamini et al. (2006)) are computed using the R package multtest (Pollard et al. (2005)).

References

Y. Benjamini and Y. Hochberg. Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society. Series B (Methodological), 289-300, 1995. Y. Benjamini, A.M. Krieger, and D.Yekutieli. Adaptive linear step-up procedures that control the false discovery rate. Biometrika, 93(3):491-507, 2006. R.V. Craiu and L. Sun. Choosing the lesser evil: trade-off between false discovery rate and non-discovery rate. Statistica Sinica, 18:861-879, 2008. K.S. Pollard, S. Dudoit and M.J. van der Laan. Multiple Testing Procedures: R multtest Package and Applications to Genomics, in Bioinformatics and Computational Biology Solutions Using R and Bioconductor. Springer. 2005.

See Also

estim.pi0, calibration.plot

Examples

Run this code
#get p-values
data(LFQRatio2)
p=LFQRatio2[,7]

#adjust p-values by estimating the proportion of true null hypotheses 
#with the "pounds" method.
res_pounds=adjust.p(p, pi0.method = "pounds")

#proportion of true null hypotheses with the "pounds" method.
res_pounds$pi0

#plot ajusted p-values in function of raw p-values
plot(res_pounds$adjp)

#adjust p-values by estimating the proportion of true null hypotheses
#using the two-stage Benjamini and Hochberg procedure with a FDR of 0.1.
res_bky=adjust.p(p, pi0.method = "bky", alpha = 0.1)

#proportion of true null hypotheses with the two-stage BH procedure.
res_bky$pi0

#plot adjusted p-values in function of raw p-values
plot(res_bky$adjp)

#compare the two-stage Benjamini and Hochberg procedure 
#with the "pounds" method
plot(res_pounds$adjp[,2],res_bky$adjp[,2])

Run the code above in your browser using DataLab