
Last chance! 50% off unlimited learning
Sale ends in
plotly
This is an updated version of plotFDR
. For more technical details, please refer to plotFDR
.
plotly_FDR(post1, post2=NULL, lg1="FDR 1", lg2=NULL,
compH0=1, alpha=0.1, complete.data =NULL, pctfdr=0.3,
col = NULL, width = 3 ,
title = NULL , title.size = 15 , title.x = 0.5 , title.y = 0.95,
xlab = "Index" , xlab.size = 15 , xtick.size = 15,
ylab = "Probability" , ylab.size = 15 , ytick.size = 15,
legend.text = "" , legend.text.size = 15 , legend.size = 15)
A plot of one or two FDR estimates, with the true FDR if available
The matrix of posterior probabilities from objects such as the output
from spEMsymlocN01
. The rows need to be sorted by increasing pvalues.
A second object like post1
if comparison is desired, also sorted by increasing pvalues.
Text describing the FDR estimate in post1
.
Text describing the FDR estimate in post2
if provided.
The component indicator associated to the null hypothesis H0,
normally 1 since it is defined in this way in spEMsymlocN01
, but in case of label switching in other algorithms it can be set to 2
.
The target FDR level; the index at which the FDR estimate crosses the horizontal line for level alpha
gives the maximum number of cases to reject.
An array with
The level up to which the FDR is plotted, i.e. the scale of the vertical axis.
Color of traces.
Width of traces.
Text of the main title.
Size of the main title.
Horsizontal position of the main title.
Vertical posotion of the main title.
Label of X-axis.
Size of the lable of X-axis.
Size of tick lables of X-axis.
Label of Y-axis.
Size of the lable of Y-axis.
Size of tick lables of Y-axis.
Title of legend.
Size of the legend title.
Size of legend.
Didier Chauveau
Chauveau, D., Saby, N., Orton, T. G., Lemercier B., Walter, C. and Arrouys, D. Large-scale simultaneous hypothesis testing in monitoring carbon content from French soil database -- A semi-parametric mixture approach, Geoderma 219-220 (2014), 117-124.
spEMsymlocN01
, plotFDR
## Probit transform of p-values
## from a Beta-Uniform mixture model
## comparion of parametric and semiparametric EM fit
## Note: in actual situations n=thousands
set.seed(50)
n=300 # nb of multiple tests
m=2 # 2 mixture components
a=c(1,0.1); b=c(1,1); lambda=c(0.6,0.4) # parameters
z=sample(1:m, n, rep=TRUE, prob = lambda)
p <- rbeta(n, shape1 = a[z], shape2 = b[z]) # p-values
o <- order(p)
cpd <- cbind(z,p)[o,] # sorted complete data, z=1 if H0, 2 if H1
p <- cpd[,2] # sorted p-values
y <- qnorm(p) # probit transform of the pvalues
# gaussian EM fit with component 1 constrained to N(0,1)
s1 <- normalmixEM(y, mu=c(0,-4),
mean.constr = c(0,NA), sd.constr = c(1,NA))
s2 <- spEMsymlocN01(y, mu0 = c(0,-3)) # spEM with N(0,1) fit
plotly_FDR(s1$post, s2$post, lg1 = "normalmixEM", lg2 = "spEMsymlocN01",
complete.data = cpd) # with true FDR computed from z
Run the code above in your browser using DataLab