计算R中的许多AUC

时间:2013-05-13 22:12:04

标签: r roc s auc

我是R的新手。我正在使用R中的ROCR包计算AUC,我可以为一个预测器做好。我要做的是为100个不同的变量执行许多AUC计算。

到目前为止,我所做的工作如下:

varlist <- names(mydata)[2:101]
formlist <- lapply(varlist, function(x) paste0("prediction(",x,"mydata$V1))

然而,公式是文本格式,as.formula给我一个错误。任何帮助赞赏!提前谢谢!

2 个答案:

答案 0 :(得分:0)

lapply内的功能看起来只是输出prediction(varmydata$V1)之类的语句。我猜你真的想运行那个命令。如果是这样,你可能想要像

这样的东西
lapply(varlist,function(x) prediction(mydata[x]))

但没有可重现的情况很难说清楚。此外,您的代码看起来缺少引用。

答案 1 :(得分:0)

如果我理解正确,您希望将mydata的第一列用作预测,将所有其他变量用作标签,一个接一个。

这是对待mydata的正确方法吗?这种方式相当罕见。对于几个不同的预测,更常见的是具有相同的真实标签(例如,迭代交叉验证,不同分类器的比较)。

然而,要回答你原来的问题:

predictionslabels需要ROCR::prediction具有相同的形状,例如

  • 作为矩阵

    prediction (matrix (rep (mydata$V1, 10), 10), mydata [, -1])
    
  • 或作为列表:

    prediction (mydata [rep (1, ncol (mydata) - 1)], mydata [-1])