You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

绘制ROC曲线时R报‘unused arguments’错误求助

问题原因与解决方法

这个报错的核心原因是其他R包中的roc函数覆盖了pROC包的同名函数——其他包的roc不支持plot、legacy.axes这些参数,导致传入后被判定为无效参数。

解决步骤

1. 确认当前使用的roc函数来源

运行以下代码查看哪个包的roc在生效:

find("roc")

如果输出结果中包含pROC以外的包(比如ROCR、caret),说明该包的roc函数正在覆盖pROC的版本。

2. 显式调用pROC的roc函数

修改你的代码,直接指定使用pROC包的roc函数,避免被其他包干扰:

y1 <- as.integer(E_SOFA_StudyPop$`Dead within 28 d (1/0)`)
x <- as.integer(E_SOFA_StudyPop$`3h total SOFA`)

par(pty = "s")
roc.a <- pROC::roc(y1, x, plot = TRUE, legacy.axes = TRUE, lwd = 4, add = TRUE, col = "darkred")

3. 更稳妥的分步写法(推荐)

如果需要绘制多条ROC曲线或更精细控制绘图参数,建议先创建ROC对象,再单独调用绘图函数:

# 创建ROC对象
roc.a <- pROC::roc(y1, x)

# 设置绘图参数并绘制
par(pty = "s")
plot(roc.a, legacy.axes = TRUE, lwd = 4, col = "darkred")
# 若要添加第二条曲线,再调用plot(roc.b, add=TRUE, ...)

4. 排查版本问题

如果上述方法仍无效,检查pROC版本并重装最新版:

# 查看当前版本
packageVersion("pROC")
# 重装最新版
install.packages("pROC")

内容的提问来源于stack exchange,提问作者Gustaf Smitt Einarson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:35:16