如何将多个roc一起绘制?

时间:2019-07-03 16:09:05

标签: modeling glm roc

我想找到一些好的预测因子(基因)。这是我的数据,记录转化RNA-seq:

          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曲线绘制这样的图,但是我不知道该怎么做

enter image description here

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

我将使用pROC软件包给您答案。免责声明:我是软件包的作者和维护者。有其他方法可以实现。

您看到的图可能是由pROC的ggroc函数生成的。为了从glm模型生成这样的图,您需要1)使用@mlab.animate(delay=delays) def animate(): f = mlab.gcf() while True: for i in range(frames_num): # update sound sound = 'shiping/shiping_%d.wav'%i sound_adjust = pyglet.resource.media(sound, streaming=False) sound_adjust.play() # update scene print('Update scene >>', time.time()) function_to_update_scene() # with out 'yield' it works well yield animate() 函数生成预测,2)生成roc曲线并将其存储在列表中,最好将其命名为自动获取图例,和3)致电predict

ggroc