cox模型做校正生存曲线问题(未填完已弃坑)

2020-05-19  本文已影响0人  凌川美兮

    之前做COX模型引入了4(A,B,C,D)个变量,最后做了一下其中一个变量(A)的生存曲线,即校正其他三个变量得到的一个变量的生存曲线。如图1

图1

    之后再R中用survminer包的ggadjustedcurves函数来做

ggadjustedcurves(fit, variable = NULL, data = NULL, reference = NULL,

  method = "conditional", fun = NULL, palette = "hue",

  ylab = "Survival rate", size = 1, ggtheme = theme_survminer(), ...)

图2

结果如图二,两幅图截然不同。个人觉得spss分别计算了每个样本在A变量不同情况(A=1,A=2)下的生存概率,因为数了一下spss中两条线的死亡人数。然后survminer包的函数只是给了分层的A=1,A=2的情况下控制其他变量的结果,所以两条线不同。还没想到用R怎么做spss的图。

    就在刚刚搞出来了~ggadjustedcurves的说明里边只写了strata设置,但是我们的分析并不是分层分析,我在这里纠结了很久。后来发现只要把strata去掉就可以,但是两幅图不太一样很接近,生存率还是有差异,这个没搞懂是计算方法还是什么的原因。

    线条形状大体相同但是最后结尾的生存率有差异,spss所有的生存率全部以0截止,R按照最长生存时间的的病例的生存率来算,个人暂时觉得R合适点。

2020-5-20

    继续搞问题

图3

按照ggsurvplot作图来看,ggadjustedcurves差一个风险表。

先看一下ggadjustedcurves中的代码,作图的原始数据就是surv_adjustedcurves输出的表格。ggrisktable对于coxph不能用。

图4

实话survminer中的所有函数我没看完,有没有做风险表的适不适合ggadjustedcurves我一概不知。按照我的思路ggsurvplot中肯定有risktable的制作相关内容,edit(ggsurvplot)既然要看源代码,那就把涉及到的东西都解释一下,ggsurvplot_combine:在同一绘图上合并多个survfit对象。例如,人们可能希望在同一张图上绘制无进展生存率和总生存率(也按治疗分配分层)。ggsurvplot_combine()为此提供了对ggsurvplot()函数的扩展。(贴的不想贴了,后边和risktable相关的几乎就没有,只有ggsurvplot_combine能沾上边)

图5 图6 图7

挖出来ggsurvplot_combine看一下代码,看看能不能找到和risktable相关的。其实ggsurplot_combine中和risktable相关的东西很多。risktable细节设置应该就是在这里,ggsurvplot_combine结尾的res有图9部分,所以risktable具体作图是通过ggsurvtable

图8 图9

ggsurvtable源代码中的res结果会输出三个图,表明都与.plot_survtable相关,但是在代码里我没找到.plot_survtable(),去下载了source资源,在ggsurtable包中找到了相关设置。

图10

这个太长了哈哈哈~

图11

下午的时候不知道为什么我要这么一路跑到黑……

然后打算把ggadjustedcurves中的surv生存率转换成存活人数,然后带到ggsurvtable中做图。

5月22日

因为后期项目比较着急这个代码我就放弃了,不继续填坑了……用surv_adjustedcurves中的surv计算了存活人数,用PS做了个表2小时搞定了。如果偶遇想做这个的亲可以在.plot_survtable这个脚本里改改改~

上一篇 下一篇

猜你喜欢

热点阅读