False discovery rate
Opened this issue · 1 comments
Hi zcurve developer
I am curious about how to get the false discovery rate from zcurve package, as described in this paper:
Schimmack U, Bartoš F (2023) Estimating the false discovery risk of (randomized) clinical trials in medical journals based on published p-values. PLOS ONE 18(8): e0290084. https://doi.org/10.1371/journal.pone.0290084
I could find this estimate. See below reproducible example:
set.seed(666)
library(zcurve)
fit <- zcurve(OSC.z)
summary(fit)
BTW, would you like to show how to use swfdr
package to compute the false positive rate using the dataset OSC.z
? I want to compare the two packages.
Best,
Yefeng
Hi Yefeng,
You can obtain the false discovery risk (Soric's FDR) estimate by adding all = TRUE
argument to the summary function.
(I recognize that this should be a bit better documented)
> library(zcurve)
> fit <- zcurve(OSC.z)
> summary(fit, all = TRUE)
Call:
zcurve(z = OSC.z)
model: EM via EM
Estimate l.CI u.CI
ERR 0.615 0.458 0.746
EDR 0.383 0.072 0.691
Soric FDR 0.085 0.023 0.675
File Drawer R 1.608 0.446 12.826
Expected N 222 123 1175
Missing N 132 33 1085
Model converged in 53 + 62 iterations
Fitted using 73 z-values. 90 supplied, 85 significant (ODR = 0.94, 95% CI [0.87, 0.98]).
Q = -60.61, 95% CI[-71.04, -47.86]
Thanks for the suggestion for a comparison with the swfdr
---it would make for a very nice vignette! I will keep it in mind when having some free time over the weekends :)
Cheers,
Frantisek