我知道R
中的p.adjust
函数,它能很好地满足我的需求。然而,现在我想根据FDR (Benjamini & Hochberg)
方法来校正significance threshold (alpha)
而不是p-values
本身。例如,我们有十个原始p值:
0.0001,0.001,0.024,0.56,0.0077,0.55,0.0025,0.01,0.015,1
在Bonferroni的情况下,这很容易:
alpha_Bonferroni_corrected = 0.01/ number of tests (10 in our example)=0.001
但对于FDR
来说,这将是一个更棘手的问题。R
中有这个函数吗?
mutoss包似乎提供了更大的灵活性
library(mutoss)
alpha <- 0.01
set.seed(1234)
p <-c(runif(10, min=0, max=0.01), runif(10, min=0.9, max=1))
result <- adaptiveBH(p, alpha)
result