# NOT RUN {
data(amnesia)
#We only keep the first 100 lines to keep the computations fast.
amnesia<-amnesia[1:100,]
#Construction of the p-values and their support
amnesia.formatted <- fisher.pvalues.support(amnesia)
raw.pvalues <- amnesia.formatted$raw
pCDFlist <- amnesia.formatted$support
m <- length(raw.pvalues)
alpha <- 0.05
lambda <- 0.05
#Compute the step functions from the supports
stepf <- build.stepfuns(pCDFlist)
#If not searching for critical constants, we use only the observed p-values
sorted.pvals <- sort(raw.pvalues)
y <- kernel.DBR.fast("", stepf, sorted.pvals, lambda)
#If searching for critical constants, we use (almost) the complete support
pv.list.all <- unique(sort(as.numeric(unlist(pCDFlist))))
# apply the shortcut drawn from Corollary 3, that is
# c.1 >= the effective critical value associated to min((1 - lambda) * alpha/m , lambda)
pv.list<-short.eff(pv.list.all, min((1 - lambda) * alpha/m , lambda) )
# then re-add the observed p-values (needed to compute the adjusted p-values),
# because we may have removed some of them the shortcut
pv.list <- sort(unique(c(pv.list, sorted.pvals)))
# compute transformed support
y <- kernel.DBR.crit("", stepf, pv.list, lambda, alpha, sorted.pvals)
crit.constants <- y$crit.consts
transformed.pvalues <- y$pval.transf
last.index <- y$m.lambda
# }
Run the code above in your browser using DataCamp Workspace