[Insert P values in any order]
pvalue <- c(0.021,0.001,0.017,0.041,0.005,0.036,0.042,0.023,0.07,0.1)
sorted.pvalue<-sort(pvalue)
sorted.pvalue
j.alpha <- (1:10)*(.05/10)
diff <- sorted.pvalue-j.alpha
neg.diff <- diff[diff<0]
pos.diff <- neg.diff[length(neg.diff)]
index <- diff==pos.diff
p.cutoff <-sorted.pvalue[index]
p.cutoff
p.sig <- pvalue[pvalue <= p.cutoff]
p.sig
R Output > pvalue<-c(0.021,0.001,0.017,0.041,0.005,0.036,0.042,0.023,0.07,0.1)
> sorted.pvalue <- sort(pvalue)
> sorted.pvalue
[sorted P values in ascending order]
[1] 0.001 0.005 0.017 0.021 0.023 0.036 0.041 0.042 0.070 0.100
> j.alpha <- (1:10) * (0.05/10)
> diff <- sorted.pvalue - j.alpha
> neg.diff <- diff[diff < 0]
> pos.diff <- neg.diff[length(neg.diff)]
> index <- diff == pos.diff
> p.cutoff <- sorted.pvalue[index]
> p.cutoff
[1] 0.023
> p.sig <- pvalue[pvalue <= p.cutoff] > p.sig
[significant p values by B-H method]:
[1] 0.021 0.001 0.017 0.005 0.023