我試圖將pROC包中的roc()
函數應用於數據框df
中的特定變量,df$site
上的子集由類似「01」,「02」,「03」的字符組成。函數roc()
返回一個列表,所以我期待我的對象roc_site
是一個列表,它依次包含每個站點的結果列表。與pROC一起使用dlply
roc_site <- dlply(
.data = df,
.variables = "site",
.fun = roc,
.progress = "text",
response = df$Risk,
predictor = df$Rating,
na.rm = TRUE, plot = TRUE)
這成功地運行,並且roc_site
是,由一個列表爲每個站點的列表,但每個站點的結果是相同的;它沒有分開數據幀。我錯過了什麼?
有時,當你無法弄清楚發生了什麼時,它有助於用一個簡單的print()來代替這種分裂應用循環內的「函數」。然後你會看到什麼正在通過。 –
這是一個好主意;謝謝你的提示! – ahj
或'瀏覽器()',這樣你就可以檢查你得到的東西 – Calimo