qvalue: Check that you have valid p-values or use a different range of lambda

ERROR: The estimated pi0 <= 0. Check that you have valid p-values or use a different range of lambda.

重现错误的代码:

ps <- runif(3e5)
library(qvalue)
ps <- ps[ps < 0.75]
qs <- qvalue(ps)

Error in pi0est(p, ...) :
  ERROR: The estimated pi0 <= 0. Check that you have valid p-values or use a different range of lambda.
 

 seq(0.05, 0.75, 0.05)
 [1] 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75
qs <- qvalue(ps, lambda = seq(0.05, 0.75, 0.05))

 

==================================

ERROR: length(lambda)=2. If length of lambda greater than 1, you need at least 4 values.Error in pi0est(p, ...)

     if(length(lambda)>1 && length(lambda)<4) {
    if(gui)
    eval(expression(postMsg(paste("ERROR: If length of lambda greater than 1, you need at least 4 values.",
    "\n"))), parent.frame())
    else
    print("ERROR: If length of lambda greater than 1, you need at least 4 values.")
    return(0)
    }
    
=================================

> seq(0.01, max(fisher_pvalues)-0.01, 0.05)
Error in seq.default(0.01, max(fisher_pvalues) - 0.01, 0.05) :
  wrong sign in 'by' argument
> max(fisher_pvalues)
[1] 1.284044e-09

=================================

> seq(min(fisher_pvalues), max(fisher_pvalues)-0.01, 0.05)
Error in seq.default(min(fisher_pvalues), max(fisher_pvalues) - 0.01,  :
  wrong sign in 'by' argument
> min(fisher_pvalues)
[1] 1.284044e-09
>  max(fisher_pvalues)
[1] 1.284044e-09
=================================

 

From:

https://support.bioconductor.org/p/74637/

 

posted @ 2017-08-16 22:07 emanlee 阅读(...) 评论(...) 编辑 收藏