Description Usage Arguments Details Value Note Author(s) References See Also Examples
The main function of package mcp.project. Given a p-value vector, the function will return the rejected hypothesis, the cutoff, and the FDR adjusted p-values according to the procedure selected.
1 |
x |
A vector if p-values. |
q |
The False Discovery Rate to control for. |
method |
The desired procedure. See Details. |
pi0 |
An optional argument instead of |
lambda |
The threshold for Story's |
m0 |
The number of true null hypothsis. Usually unknown. |
The fdr
function is the main function in the package mcp.project.
Given a p-value vector, it can apply several FDR controlling procedures and return the rejected hypothesis, the cutoff and the adjusted p-values.
The methods supplied and chosen by the method parameter are the following:
the plain Linear Step-up procedure is the default procedure of this function. Known to control the FDR in the case of independant or positively correlated test statistics.
A "worst case" procedure that controls the FDR even when the dependency structure between the p-values is unknown.
When m0
is miraculously known it can be used to increase the power of the Linear Step Up procedure while still controlling the False Discovery Rate (as long as the dependence structure is such that a linear step up will control the FDR). This has been shown to be the assymptotically most “powerful” procedure which controls the FDR (Genovese and Wasserman 2002).
An adaptive procedure which gains power by first estimating m0
using a FWE derived estimator and then plugging it in a Linear Step-up. FDR control under independence has not been proven, yet it is controlled in simulation studies. See the references for further details.
An adaptive procedure. First estimating m0
and then and then plugging it in a Linear Step-up. This procedure requires a threshold (lambda) which is set at 0.5 by default. FDR is *not* controlled if all null hypothesis are true. See the references for further details.
An adaptive procedure. First estimating m0
using a conservative linear step-up and then using it to increase the power of a second step-up procedure. In the case of independent test statistics, this procedure has been shown to control the FDR.
A non-linear step-down procedure. Enjoys more power then most procedures and like the \sQuote{Two Stage} procedure, has been proven to control the FDR in the indepenent-test-statistics case.
method |
The procedure used. |
q |
The FDR level controlled for. |
Cutoff |
A list containing the p-value cutoff and it's index. |
Pvals |
A data frame containing the original p-values, the critical value each has been compared to, an indicator for the rejection of each hypothesis and the procedure specific adjusted p-values. |
One should give special attention to the dependancy structure between the test statistics.
In the case of independendcy- the Two Stage
and Multiple Step Down
procedure guarantee good power while controlling the FDR. In case of uncertainty, better use the BH
procedure which will control the FDR in most practical circumbstances (while having less power then the previously suggested procedures).
Jonathan Rosenblatt.
The control of the false discovery rate in multiple testing under dependancy
Y. Benjamini, D. Yekutieli (The Annals of Statistics 2001).
Adaptive linear step-up procedures that control the false discovery rate.
Y. Benjamini, A.M. Krieger, D. Yekutieli (Biometrika 2006).
Operating characteristics and extensions of the false discovery rate procedure
C. Genovese, L. Wasserman (Journal of the Royal Statistical Society 2002).
http://www.math.tau.ac.il/~ybenja/fdr/index.htm http://strimmerlab.org/notes/fdr.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | test=runif(100)^3
#Linear Step up
bh.1=fdr(x=test,q=0.1,'BH')
plot(bh.1)
summary(bh.1)
table(bh.1$Pvals[['adjusted.pvals']]<=bh.1$q)
# General Dependancy structure
general.1=fdr(x=test,q=0.1,method='General Dependency')
plot(general.1)
summary(general.1)
# New Two Stage procedure
twostage.1=fdr(x=test,0.1,'Two Stage')
plot(twostage.1)
summary(twostage.1)
# If m0 is somehow known
oracle.1=fdr(x=test,q=0.1,'Oracle',m0=30)
plot(oracle.1);summary(oracle.1)
#Adaptive procedure with Story's m0 estimator
adaptive.st.1=fdr(x=test,q=0.1,'ST Adaptive')
plot(adaptive.st.1)
summary(adaptive.st.1)
#Adaptive procedure with Benjamini and Hochberg's m0 estimator
adaptive.bh.1=fdr(x=test,0.1,'BH Adaptive')
plot(adaptive.bh.1)
summary(adaptive.bh.1)
# (Non Linear) Step down procedure
multiple.1=fdr(x=test,q=0.1,'Multiple Step Down')
plot(multiple.1)
summary(multiple.1)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.