1

我正在使用 Epi 包中的 ROC 函数,其文档指定您可以将图形参数传递给绘图函数。默认情况下,ROC 会生成灰度图。我试图只将 ROC 曲线本身(锯齿状线)染成红色。

这是我尝试过的:

    x = rnorm(100)
    y = c(rep(0,50), rep(1,50))

    library(Epi)

    par(col="red"); ROC(form = y~x, plot="ROC")

这会创建一个颜色不一致的奇怪图形。par 文档确实描述了一些特定的方法,如 col.lab 和 col.axis 来为特定的图形元素着色,但不包括主线颜色的参数。

我不得不认为这个基本问题必须在其他地方得到解决,但到目前为止还没有运气搜索 R 文档和谷歌。

4

1 回答 1

1

对于您的具体情况,如果您想修改功能ROC以满足您的需要,您可以执行以下操作。在控制台输入ROC以查看ROC. 将其复制并粘贴到文件中并为其分配一个新名称,例如ROC2. 查找以下代码:

if (any(!is.na(match("ROC", toupper(plot))))) {
        plot(1 - res[, 2], res[, 1], xlim = 0:1, xlab = "1-Specificity", 
            ylim = 0:1, ylab = "Sensitivity", type = "n", ...)
        if (is.numeric(grid)) 
            abline(h = grid/100, v = grid/100, col = gray(0.9))
        abline(0, 1, col = gray(0.4))
        box()
        lines(1 - res[, 2], res[, 1], lwd = lwd)

您将希望在通话中通过col = "red"或类似的方式。lines例如,您可以mycol向函数本身添加一个参数,然后将该行更改为:

lines(1 - res[, 2], res[, 1], lwd = lwd, col = mycol)

此外,正如我在下面提到的,您还必须更改 to 的所有ROC.tic实例Epi:::ROC.tic

于 2012-08-23T03:32:34.570 回答