如何从R中的fpr序列中获得特定的tpr?

如何从R中的fpr序列中获得特定的tpr?,r,roc,R,Roc,我想得到特定假阳性率下的真阳性率,比如说,在fpr=0,0.002,0.01。。。。有没有一个简单的方法?我试过了 performance这样做是行不通的: tpr[which(fpr == yourfpr)] 这是因为,虽然它被称为“曲线”,但ROC曲线实际上是一组离散点,并且您的目标FPR与ROC曲线中的一个完全匹配的概率很低 因此,您需要做一些插值来获得给定FPR点的TPR。幸运的是,pROC包为您做到了这一点(dislaimer:我是pROC的作者)。假设你有下面的ROC曲线: lib

我想得到特定假阳性率下的真阳性率,比如说,在fpr=0,0.002,0.01。。。。有没有一个简单的方法?我试过了

performance这样做是行不通的:

tpr[which(fpr == yourfpr)]
这是因为,虽然它被称为“曲线”,但ROC曲线实际上是一组离散点,并且您的目标FPR与ROC曲线中的一个完全匹配的概率很低

因此,您需要做一些插值来获得给定FPR点的TPR。幸运的是,pROC包为您做到了这一点(dislaimer:我是pROC的作者)。假设你有下面的ROC曲线:

library(pROC)
data(aSAH)
myroc <- roc(aSAH$outcome, aSAH$wfns)
这将目标特异性作为输入,并将其与匹配灵敏度一起返回,匹配灵敏度等于您感兴趣的真阳性率或TPR。要将TPR作为向量,请执行以下操作:

tpr <- coords(myroc, x = target.sp, input = "specificity", ret = "se")[1,]

tpr类似于
tpr[which(fpr==yourfpr)]
?你能提供一个完整的例子吗?(关于包和数据)我使用了包ROCR,然后‘ROCR’我将接受@Calimo的答案,因为它向我展示了如何使用不同的包来解决我的问题。
coords(myroc, x = target.sp, input = "specificity", ret = c("se", "sp"))
tpr <- coords(myroc, x = target.sp, input = "specificity", ret = "se")[1,]