1

我在数据框中有 1493313 个 p 值:

> head(dt)
     pvals
1 0.0084956486
2 0.0012681537
3 0.0021218873
4 0.0001551133
5 0.0001894240

我正在尝试使用 qvalue 包来计算真阳性率。(TPR)

我正在这样做并收到错误:

library(qvalue)
pvals=dt$pvals
qval_obj=qvalue(pvals) #is false discovery rate

Error in smooth.spline(lambda, pi0, df = smooth.df) : 
  missing or infinite values in inputs are not allowed

如果这可行,我将通过以下方式计算 TPR:

pi1=1-qval_obj$pi0 #TPR

我那里没有任何 NA 或无限值,并且

> min(dt$pvals)
[1] 3.988883e-156
> max(dt$pvals)
[1] 0.8746981
> sapply(dt,class)
pvals 
"numeric"

历史图(dt$pvals)

在此处输入图像描述

我不需要使用 qvalue 函数,如果您知道在 R 中计算 TPR 的任何其他方法,请告诉我。

4

0 回答 0