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"

hist(dt$pvals) のプロット

ここに画像の説明を入力

RでTPRを計算する他の方法を知っている場合は、qvalue関数を使用する必要はありません.

4

0 に答える 0