更改 ROC 图的比例
Changing scale of the ROC chart
在进行 运行 逻辑回归后,我使用以下代码绘制 ROC 曲线。
fit1 <- glm(formula=GB160M3~Behvscore, data=eflscr,family="binomial", na.action = na.exclude)
prob1=predict(fit1, type=c("response"))
eflscr$prob1 = prob1
library(pROC)
g1 <- roc(GB160M3~prob1, data=eflscr, plot=TRUE, grid=TRUE, print.auc=TRUE)
绘制的 ROC 曲线如下所示(请参阅下面的 link)
- x 轴刻度未填充 who 图表。
- 我如何更改 x 轴以报告 1 - 特别是?
获得方形图的一个很好的捷径是在绘图之前运行以下内容:
par(pty="s")
这会强制绘图区域的形状为正方形。通过简单地重置图形设备并清除绘图,将绘图区域设置回最大。
dev.off()
正如@Calimo 所指出的,有 legacy.axes
参数来反转 x 轴,标签也会自动更改。您可以 运行 ?plot.roc
查看所有 pROC 绘图选项。
例子
# Get ROC object
data(aSAH)
roc1 <- roc(aSAH$outcome, aSAH$s100b)
# Plot
par(pty="s")
plot(roc1, grid = TRUE, legacy.axes = TRUE)
# Reset graphics device and clear plot
dev.off()
默认情况下,pROC 设置 asp = 1
以确保绘图是正方形的,并且灵敏度和特异性都在同一尺度上。您可以将其设置为 NA
或 NULL
以释放轴并填充图表,但您的 ROC 曲线将变形。
plot(g1, asp = NA)
按照 Joe 的建议使用 par(pty="s")
可能是更好的方法
这纯粹是一个标签问题:请注意 x 轴从 1 到 0 递减,这与在递增轴上绘制 1-specificity 完全相同。您可以将 legacy.axes
参数设置为 TRUE
以更改默认行为是否困扰您。
plot(g1, legacy.axes = TRUE)
在进行 运行 逻辑回归后,我使用以下代码绘制 ROC 曲线。
fit1 <- glm(formula=GB160M3~Behvscore, data=eflscr,family="binomial", na.action = na.exclude)
prob1=predict(fit1, type=c("response"))
eflscr$prob1 = prob1
library(pROC)
g1 <- roc(GB160M3~prob1, data=eflscr, plot=TRUE, grid=TRUE, print.auc=TRUE)
绘制的 ROC 曲线如下所示(请参阅下面的 link)
- x 轴刻度未填充 who 图表。
- 我如何更改 x 轴以报告 1 - 特别是?
获得方形图的一个很好的捷径是在绘图之前运行以下内容:
par(pty="s")
这会强制绘图区域的形状为正方形。通过简单地重置图形设备并清除绘图,将绘图区域设置回最大。
dev.off()
正如@Calimo 所指出的,有 legacy.axes
参数来反转 x 轴,标签也会自动更改。您可以 运行 ?plot.roc
查看所有 pROC 绘图选项。
例子
# Get ROC object
data(aSAH)
roc1 <- roc(aSAH$outcome, aSAH$s100b)
# Plot
par(pty="s")
plot(roc1, grid = TRUE, legacy.axes = TRUE)
# Reset graphics device and clear plot
dev.off()
默认情况下,pROC 设置
asp = 1
以确保绘图是正方形的,并且灵敏度和特异性都在同一尺度上。您可以将其设置为NA
或NULL
以释放轴并填充图表,但您的 ROC 曲线将变形。plot(g1, asp = NA)
按照 Joe 的建议使用
par(pty="s")
可能是更好的方法这纯粹是一个标签问题:请注意 x 轴从 1 到 0 递减,这与在递增轴上绘制 1-specificity 完全相同。您可以将
legacy.axes
参数设置为TRUE
以更改默认行为是否困扰您。plot(g1, legacy.axes = TRUE)