我是R的新手。我正在使用R中的ROCR包计算AUC,我可以为一个预测器做好。我要做的是为100个不同的变量执行许多AUC计算。
到目前为止,我所做的工作如下:
varlist <- names(mydata)[2:101]
formlist <- lapply(varlist, function(x) paste0("prediction(",x,"mydata$V1))
然而,公式是文本格式,as.formula给我一个错误。任何帮助赞赏!提前谢谢!
答案 0 :(得分:0)
lapply
内的功能看起来只是输出prediction(varmydata$V1)
之类的语句。我猜你真的想运行那个命令。如果是这样,你可能想要像
lapply(varlist,function(x) prediction(mydata[x]))
但没有可重现的情况很难说清楚。此外,您的代码看起来缺少引用。
答案 1 :(得分: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])