我如何将多个 roc 绘制在一起?

How I can plot multiple roc together?

我想找到一些好的预测因子(基因)。这是我的数据,对数转换的 RNA 序列:

          TRG    CDK6 EGFR  KIF2C CDC20
Sample 1  TRG12  11.39 10.62  9.75 10.34
Sample 2  TRG12  10.16  8.63  8.68  9.08
Sample 3  TRG12   9.29 10.24  9.89 10.11
Sample 4  TRG45  11.53  9.22  9.35  9.13
Sample 5  TRG45   8.35 10.62 10.25 10.01
Sample 6  TRG45  11.71 10.43  8.87  9.44

我已经为下面的不同模型计算了混淆矩阵

1- 我在这段代码中分别测试了 23 个基因中的每一个,并且每个基因都给出了 p 值 < 0.05 仍然是一个很好的预测因子;例如对于 CDK6 我已经完成了

glm=glm(TRG ~ CDK6, data = df, family = binomial(link = 'logit'))

最后我得到了五个基因,并将它们放入这个模型中:

final <- glm(TRG ~ CDK6 + CXCL8 + IL6 + ISG15 + PTGS2 , data = df, family = binomial(link = 'logit'))

我想为每个模型的 ROC 曲线绘制这样的图,但我不知道该怎么做

有什么帮助吗?

我会用pROC包给你答案。免责声明:我是该软件包的作者和维护者。有其他方法可以做到这一点。

您看到的图可能是由 pROC 的 ggroc 函数生成的。为了从 glm 模型生成这样的图,您需要 1) 使用 predict 函数生成预测,2) 生成 roc 曲线并将它们存储在列表中,最好命名以自动获取图例,和 3) 调用 ggroc.

glm.cdk6 <- glm(TRG ~ CDK6, data = df, family = binomial(link = 'logit'))
final <- glm(TRG ~ CDK6 + CXCL8 + IL6 + ISG15 + PTGS2 , data = df, family = binomial(link = 'logit'))

rocs <- list()

library(pROC)
rocs[["CDK6"]] <- roc(df$TRG, predict(glm.cdk6))
rocs[["final"]] <- roc(df$TRG, predict(final))

ggroc(rocs)