2013-05-13 71 views
0

我對R相當新。我在R中使用ROCR軟件包來計算AUC,我可以對一個預測器做的很好。我期望做的是對100個不同的變量進行許多AUC計算。計算R中的許多AUC

我迄今所做如下:

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

但是那麼公式是文本格式,並as.formula是給我的錯誤。任何幫助感謝!提前致謝!

+1

你可以使用一個循環與和保存在一個矢量eacha值。此外,pROC包將更好地爲您的問題! – Duck 2013-05-13 22:28:22

+0

你的'lapply'裏面的函數看起來就像輸出一個像'prediction(varmydata $ V1)'這樣的語句。我猜你實際上想要*運行*該命令。如果是這樣,你可能需要'lapply(varlist,function(x)prediction(mydata ['x']))'',但是很難說沒有可重現的情況。此外,它看起來像你的代碼有一個缺少的報價。 – nograpes 2013-05-13 22:37:27

+0

感謝您的幫助!你用方括號解決了它(你寫的是我缺少一個報價)。 – user2379487 2013-05-13 23:02:33

回答

0

lapply中的函數看起來像是輸出一個像prediction(varmydata$V1)這樣的語句。我猜你實際上是想運行那個命令。如果是這樣,你可能想要類似

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

但是很難說沒有可重現的情況。此外,它看起來像你的代碼有一個缺少的報價。

0

如果我的理解正確,您希望使用mydata的第一列作爲預測,並將所有其他變量作爲標籤一個接一個地使用。

這是治療mydata的正確方法嗎?這種方式很少見。對於幾種不同的預測(例如迭代交叉驗證,不同分類器的比較),具有相同的真實標籤更爲常見。

然而,要回答你原來的問題:

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

  • 無論是作爲基質

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

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