For internal use in functions stp and bcaFDR.
Computes steps 2.1 to 2.4 from Algorithm 1 in the vignette.
Usage
fdr(Z, design, th = NULL, B = 100, lambda = 0.5, PER = FALSE, ...)
Arguments
Z
a matrix or data.frame representing genes' expression levels. The rows
of Z correspond to the genes in the experiment, and the columns
correspond to the replicates. Treatment replicates are to the left,
control replicates to the right.
design
a vector of length equal to the number of columns in Z with 1's
for the treatment replicates and 2's for the control replicates
(1, …, 1, 2, …, 2).
th
Threshold values for estimating the FDR. If NULL, the values
from abs(ac2(Z,design)) are used.
B
Number of bootstrap or permutation replications for estimating the FDR
(as passed from stp and bcaFDR).
lambda
Parameter for the estimation of pi0 and the FDR as passed
from stp and bcaFDR (see Storey, 2002).
PER
If FALSE (default), bootstrap replications are used to estimate
the FDR. If TRUE, permutation replications are used instead
(as passed from stp and bcaFDR).
...
additional arguments for parallel computation in boot function
as passed from stp (see stp help page for details).
Value
Q
Estimations of the FDR using each value in th as the threshold.
th
Threshold values used for estimating the FDR.
pi0
Estimation of pi0, the true proportion of non differentially
expressed genes in the experiment.
B
Number of bootstrap or permutation replications used for estimating the FDR.
lambda
Parameter used for the estimation of pi0 and the FDR.
Acosta, J. P. (2015) Strategy for Multivariate Identification of
Differentially Expressed Genes in Microarray Data. Unpublished MS thesis.
Universidad Nacional de Colombia, Bogot'a.
Storey, J. D. (2002) A direct approach to false discovery rates.
Journal of the Royal Statistical Society: Series B (Statistical Methodology),
64(3): 479–498.
See Also
stp.
Examples
## Single time point analysis for 500 genes with 10 treatment
## replicates and 10 control replicates
n <- 500; p <- 20; p1 <- 10
des <- c(rep(1, p1), rep(2, (p-p1)))
mu <- as.matrix(rexp(n, rate=1))
Z <- t(apply(mu, 1, function(mui) rnorm(p, mean=mui, sd=1)))
### 5 up regulated genes
Z[1:5,1:p1] <- Z[1:5,1:p1] + 5
### 10 down regulated genes
Z[6:15,(p1+1):p] <- Z[6:15,(p1+1):p] + 4
res <- fdr(Z, des)
plot(res$th, res$Q, type="l", col="blue")
legend(x="topright", legend="FDR", lty=1, col="blue")
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(acde)
Loading required package: boot
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/acde/fdr.Rd_%03d_medium.png", width=480, height=480)
> ### Name: fdr
> ### Title: False Discovery Rate Computation
> ### Aliases: fdr
>
> ### ** Examples
>
> ## Single time point analysis for 500 genes with 10 treatment
> ## replicates and 10 control replicates
> n <- 500; p <- 20; p1 <- 10
> des <- c(rep(1, p1), rep(2, (p-p1)))
> mu <- as.matrix(rexp(n, rate=1))
> Z <- t(apply(mu, 1, function(mui) rnorm(p, mean=mui, sd=1)))
> ### 5 up regulated genes
> Z[1:5,1:p1] <- Z[1:5,1:p1] + 5
> ### 10 down regulated genes
> Z[6:15,(p1+1):p] <- Z[6:15,(p1+1):p] + 4
>
> res <- fdr(Z, des)
> plot(res$th, res$Q, type="l", col="blue")
> legend(x="topright", legend="FDR", lty=1, col="blue")
>
>
>
>
>
> dev.off()
null device
1
>