У меня 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, если вы знаете какой-либо другой метод для вычисления TPR в R, пожалуйста, дайте мне знать.