我在运行逻辑回归后使用以下代码绘制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曲线如下所示(参见下面的链接)
答案 0 :(得分:3)
默认情况下,pROC设置asp = 1
以确保绘图是正方形,灵敏度和特异性都在相同的范围内。您可以将其设置为NA
或NULL
以释放轴并填充图表,但您的ROC曲线将会变形。
plot(g1, asp = NA)
使用Joe建议的par(pty="s")
可能是一种更好的方法
这纯粹是一个标签问题:请注意x轴从1减小到0,这与在增加轴上绘制1特异性完全相同。您可以将legacy.axes
参数设置为TRUE
,以便在默认情况困扰您时更改行为。
plot(g1, legacy.axes = TRUE)
答案 1 :(得分:1)
1)在绘图之前运行以下内容:
par(pty="s")
(顺便说一下,我假设你想要一个正方形图,因为ROC曲线通常是。)
2)使用xlab
参数,就像使用普通plot
一样。
plot(g1, xlab = "1 - Specificity")