如何在仅给出线性回归方程的情况下绘制 R 中的 ROC 曲线

How to plot ROC curve in R given only a linear regression equation

我正在尝试在 R 中绘制 ROC 曲线并找到其下方的面积 (AUC),仅给出一个回归方程。

通常,当我有一个 GLM 时,我会使用命令 predict 来执行此操作。例如:

library("pROC")
lin_mod <- glm(y ~ p + q, family = "...", data = dat_sd)
prob <- predict(lin_mod, type = c("response"))

模型的系数为 0.3(截距)、-0.07(p)和 0.11(q)。为了绘制 ROC 并找到 AUC,我使用

plot(roc(dat_sd$y, prob), print.auc = TRUE)

但是,当我只有方程式时,命令不起作用:

library("pROC")    
lin_mod <- 0.3 - 0.07 * dat_sd$p + 0.11 * dat_sd$q
predict(lin_mod, type = c("response"))

输出

Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('double', 'numeric')"

我应该怎么做才能成功绘制曲线(并找到面积)?

下一行您根据数据预测的响应:

lin_mod <- 0.3 - 0.07 * dat_sd$p + 0.11 * dat_sd$q

只需将该响应变量直接传递给 pROC:

plot(roc(dat_sd$y, lin_mod), print.auc = TRUE)