【问题标题】:Calculate many AUCs in R计算 R 中的许多 AUC
【发布时间】:2013-05-08 01:47:13
【问题描述】:

我对 R 很陌生。我正在使用 R 中的 ROCR 包来计算 AUC,我可以为一个预测器做这件事。我要做的是为 100 个不同的变量执行许多 AUC 计算。

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

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

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

【问题讨论】:

  • 您可以使用 for 循环并将每个值保存在向量中。此外,pROC 包会更好地解决您的问题!!!
  • lapply 中的函数看起来只是在输出类似prediction(varmydata$V1) 的语句。我猜你实际上想要 run 该命令。如果是这样,您可能想要lapply(varlist,function(x) prediction(mydata['x'])) 之类的东西,但如果没有可重现的情况,就很难判断。此外,您的代码似乎缺少引号。
  • 感谢您的帮助!你用方括号解决了它(你写的是我错过了一个报价)。
  • @user2379487 如果您想检查它,我将其转发为答案。

标签: r roc s auc


【解决方案1】:

lapply 中的函数看起来只是在输出类似prediction(varmydata$V1) 的语句。我猜你实际上想要 run 该命令。如果是这样,您可能想要类似

lapply(varlist,function(x) prediction(mydata[x]))

但如果没有可重现的情况,就很难判断。此外,您的代码似乎缺少引号。

【讨论】:

    【解决方案2】:

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

    这是对待mydata的正确方式吗?这种方式比较少见。对于多个不同的预测(例如迭代交叉验证、不同分类器的比较),使用相同的真实标签更为常见。

    但是,要回答您原来的问题:

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

    • 作为矩阵

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

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

    【讨论】:

      猜你喜欢
      • 2011-06-21
      • 2011-12-10
      • 2013-12-29
      • 2018-03-28
      • 2021-08-07
      • 2021-11-24
      • 2016-08-30
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多