0

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

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

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

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

4

2 回答 2

0

你里面的函数lapply看起来就像它只是输出一个像prediction(varmydata$V1). 我猜您实际上想要运行该命令。如果是这样,您可能想要类似的东西

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

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

于 2013-05-13T23:32:15.847 回答
0

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

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

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

predictions并且labels需要具有相同的形状ROCR::prediction,例如

  • 要么作为矩阵

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

    prediction (mydata [rep (1, ncol (mydata) - 1)], mydata [-1])
    
于 2013-05-14T08:14:14.473 回答