Hi,
I am a very beginner of R and Bioconductor. I would like to calculate q-values from a list of p-values.
So, following the instruction on https://www.bioconductor.org/packages/release/bioc/html/qvalue.html, I installed the package 'qvalue' to RStudio Version 1.1.463 as follows.
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install("qvalue")
Then, using the following commands, I tried to obtain a list of q-values.
data<-read.csv("test.csv", header=TRUE) test2 <- data$test
tmp <- qvalue::qvalue(test2)
Then, the results somehow gives a lot of q-values that are smaller than the corresponding p-values. In addition, many q-values show exactly the same q-value, 4.670181e-02.
You can download the input list of p-values (removed). Sorry for the very long one (4571 p-values).
I would greatly appreciate if you have any suggestions to solve this issue.
Best regards, Fumi Nozawa
This is a frequently asked question with answer here:
https://github.com/StoreyLab/qvalue/blob/master/README.md#frequently-asked-questions
You could consider the more conservative Benjamini-Hochberg method of FDR adjustment. This will never produce smaller adjusted p-values than the input. (It will still sometimes produce identical adjusted p-values even if all the input values are distinct, this is expected behaviour.)