Dear All,
I have analysed gene expression microarray results using limma and have a list of pvalues. I want to use qvalue to look for the FDR. Every time I try to use qvalue I get the error : "ERROR: The estimated pi0 <= 0. Check that you have valid p-values or use a different range of lambda."
I have repeated my limma analysis and end up with the same results. The p values look OK to me and are all within the range 0-1. My working is as below:
library(qvalue)
> setwd("~/Desktop/mRNA arrays/")
> pvalues=read.table("pvalues.txt")
> range(pvalues)
[1] 0.000299344 0.753304443
> qobj<- qvalue(p=pvalues)
Error in pi0est(p, ...) :
ERROR: The estimated pi0 <= 0. Check that you have valid p-values or use a different range of lambda.
>
Could anyone please explain why I am getting this message?
Thanks,
Clara Green
Clinical Research Fellow
University of Birmingham, UK
As James Macdonald has explained, based on the range of p-values that you show, your p-value distribution is questionable. A good place to start would be to read this article and see if your p-value distribution has any of the problems described in it: http://varianceexplained.org/statistics/interpreting-pvalue-histogram/