Learn R Programming

HEM (version 1.44.0)

hem.fdr: FDR Evaluation

Description

Computes resampling-based False Discovery Rate (FDR)

Usage

hem.fdr(dat, n.layer, design, rep=TRUE, hem.out, eb.out=NULL, n.iter=5, q.trim=0.9, target.fdr=c(0.001, 0.005, 0.01, 0.05, 0.1, 0.15, 0.20, 0.30, 0.40, 0.50), n.digits=10, print.message.on.screen=TRUE)

Arguments

dat
data
n.layer
number of layers: 1=one-layer EM; 2=two-layer EM
design
design matrix
rep
no replication if FALSE
hem.out
output from hem function
eb.out
output from hem.eb.prior function
n.iter
number of iterations
q.trim
quantile used for estimtaing the proportion of true negatives (pi0)
target.fdr
Target FDRs
n.digits
number of digits
print.message.on.screen
if TRUE, process status is shown on screen.

Value

fdr
H-values and corresponding FDRs
pi0
estimated proportion of true negatives
H.null
H-scores from null data
targets
given target FDRs, corrsponding critical values and numbers of significant genes are provided

See Also

hem.eb.prior hem

Examples

Run this code

data(pbrain)

##construct a design matrix
cond <- c(1,1,1,1,1,1,2,2,2,2,2,2)
ind  <- c(1,1,2,2,3,3,1,1,2,2,3,3)
rep  <- c(1,2,1,2,1,2,1,2,1,2,1,2)
design <- data.frame(cond,ind,rep)

##normalization
pbrain.nor <- hem.preproc(pbrain[,2:13])

##take a subset for a testing purpose;
##use all genes for a practical purpose
pbrain.nor <- pbrain.nor[1:1000,]

##estimate hyperparameters of variances by LPE
#pbrain.eb  <- hem.eb.prior(pbrain.nor, n.layer=2,  design=design,
#                           method.var.e="neb", method.var.b="peb")     

##fit HEM with two layers of error
##using the small numbers of burn-ins and MCMC samples for a testing purpose;
##but increase the numbers for a practical purpose 
#pbrain.hem <- hem(pbrain.nor, n.layer=2,  design=design,burn.ins=10, n.samples=30, 
#              method.var.e="neb", method.var.b="peb", 
#              var.e=pbrain.eb$var.e, var.b=pbrain.eb$var.b)

##Estimate FDR based on resampling 
#pbrain.fdr <- hem.fdr(pbrain.nor, n.layer=2,  design=design, 
#                  hem.out=pbrain.hem, eb.out=pbrain.eb)

Run the code above in your browser using DataLab