データ フレームに 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関数を使用する必要はありません.