Description Usage Arguments Details Value Author(s) References See Also Examples
concaveFDR
takes a vector of zscores (or of correlations, pvalues, or
tstatistics), and estimates for each case both the tail areabased Fdr as
well as the densitybased fdr (=qvalue resp. local false discovery rate).
The parameters of the null distribution are estimated adaptively from the
data (except for the case of pvalues where this is not necessary).
1 2 3 4 
x 
vector of the observed test statistics. 
statistic 
one of "normal" (default), "correlation", "pvalue". This species the null model. 
plot 
plot a figure with estimated densities, distribution functions, and (local) false discovery rates. 
color.figure 
determines whether a color figure or a black and white figure is produced (defaults to "TRUE", i.e. to color figure). 
verbose 
print out status messages. 
theo 
Should the theoretical null model be used? In this case no null model scale parameters (e.g. sigma for zscores) are estimated. Note that the df and the kappa parameters for tstatistics and the correlation statistics have to be set manually as they depeden on the original sample sizes. 
scale_param 
scale parameter used when calculating the statistics, only needs to
be specified if 
alternative 
The estimation algorithm used for estimation of the alternative densitiy. "Grenander" corresponds to the method implemented in fdrtool, while "logconcave" is new method introduced in the package 
cutoff.method 
one of "fndr" (default), "pct0", "locfdr". 
pct0 
fraction of data used for fitting null model  only if

The algorithm implemented in this function proceeds as follows:
A suitable cutoff point is determined. If
cutoff.method
is "fndr" then first an approximate null model is
fitted and subsequently a cutoff point is sought with false nondiscovery
rate as small as possible (see fndr.cutoff
). If
cutoff.method
is "pct0" then a specified quantile (default value:
0.75) of the data is used as the cutoff point. If cutoff.method
equals "locfdr" then the heuristic of the "locfdr" package (version 1.16)
is employed to find the cutoff (zscores and correlations only).
If cutoff.method
is "smoothing" the a smoothed bspline is
fitted to the eta0 estimates at various cutoff points and flat regions
are found by inspecting local minima of the smoothed bspline curve.
The
parameters of the null model are estimated from the data using
censored.fit
. This results in estimates for scale parameters
und and proportion of null values (eta0
). Not that choosing theo = TRUE
will results in using the theoretical null model without a scale parameter.
Subsequently the
corresponding pvalues are computed, and a modified grenander
or
logconcave density estimation
algorithm is employed to obtain the overall density and distribution
function (note that this respects the estimated eta0
). The choice
of the density estimation algorithm can be made by using the alternative
argument.
Finally, qvalues and local fdr values are computed for each case.
The assumed null models all have (except for pvalues) one free scale parameter. Note that the zscores and the correlations are assumed to have zero mean.
A list with the following components:
pval 
a vector with pvalues for each case. 
qval 
a vector with qvalues (Fdr) for each case.. 
lfdr 
a vector with local fdr values for each case. 
statistic 
the specified type of null model. 
param 
a vector containing the estimated parameters (the null
proportion 
Bernd Klaus, Korbinian Strimmer (http://strimmerlab.org).
Strimmer, K. (2008a). A unified approach to false discovery rate estimation. BMC Bioinformatics 9: 303. Available from http://www.biomedcentral.com/14712105/9/303/.
Strimmer, K. (2008b). fdrtool: a versatile R package for estimating local and tail area based false discovery rates. Bioinformatics 24: 14611462. Available from http://bioinformatics.oxfordjournals.org/cgi/content/abstract/24/12/1461.
pval.estimate.eta0
, censored.fit
.
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  # load "fdrtool" library and pvalues
library("fdrtool")
data(pvalues)
# estimate fdr and Fdr from pvalues
data(pvalues)
fdr < concaveFDR(pvalues, statistic="pvalue")
fdr$qval.log # estimated Fdr values using logconcave density estimation
fdr$qval.gr # estimated local fdr using Grenander density estimation
# the same but with black and white figure
fdr < concaveFDR(pvalues, statistic="pvalue", color.figure=FALSE)
# estimate fdr and Fdr from zscores
sd.true = 2.232
n = 500
z = rnorm(n, sd=sd.true)
z = c(z, runif(30, 5, 10)) # add some contamination
fdr = concaveFDR(z)
# you may change some parameters of the underlying functions
fdr = concaveFDR(z, cutoff.method="pct0", pct0=0.9)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.