原文链接:http://tecdat.cn/?p=22422

原文出处:拓端数据部落公众号

视频:R语言生存分析原理与晚期肺癌患者分析案例

R语言生存分析Survival analysis原理与晚期肺癌患者分析案例

在本文中,我们描述了灵活的竞争风险回归模型。回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率。该模型包含Fine和Gray(1999)的模型作为一个特例。这可以用来对次分布危险的比例假设做拟合度测试(Scheike和Zhang 2008)。还可以为预测的累积发病率曲线构建置信区间。我们将这些方法应用于Pintilie(2007)的滤泡细胞淋巴瘤数据,其中竞争风险是疾病复发和没有复发的死亡。

工作实例:滤泡细胞淋巴瘤研究

我们考虑Pintilie(2007)的滤泡细胞淋巴瘤数据。该数据集由541名疾病早期的滤泡细胞淋巴瘤(I或II)患者组成,并接受单纯放疗(化疗=0)或放疗和化疗的联合治疗(化疗=1)。疾病复发或无反应和缓解期死亡是两个竞争风险。患者的年龄(年龄:平均=57,sd=14)和血红蛋白水平(hgb:平均=138,sd=15)也被记录。随访时间的中位数是5.5年。首先我们读取数据,计算死亡原因指标并对协变量进行编码。


R> table(cause)
cause
0 1 2
193 272 76
R> stage <- as.numeric(clinstg == 2)
R> chemo <- as.numeric(ch == "Y")
R> times1 <- sort(unique(time[cause == 1]))

有272个(无治疗反应或复发)因疾病引起的事件,76个竞争性风险事件(无复发的死亡)和193个删减的个体。事件时间用dftime表示。变量times1给出了原因为 "1 "的事件时间。我们首先估计非参数累积发病率曲线进行比较。

我们指定事件时间并删减变量为cause == 0。回归模型只包含一个截距项(+1)。cause变量给出了与不同事件相关的原因。cause= 1指定我们考虑类型1的事件。计算/基于估计值的时间可以由参数times = times1给出。

图1(a)显示了估计的两种原因的累积发生率曲线。在图1(b)中,我们构建95%的置信区间(虚线)和95%的置信带。


risk(Surv(dftime, cause == 0) ~ + 1,
causeS = 1, n.sim = 5000, cens.code = 0, model = "additive")

图1

R> fit <- cum(time, cause, group)
R> plot(fit)

子分布危险法和直接二项式模型法都是基于反概率的删减加权技术。在应用这种权重时,关键是删减权重的估计不能有偏差,否则累积发病率曲线的估计也可能有偏差。

在这个例子中,我们发现删减分布明显取决于协变量血红蛋白、阶段和化疗,并可以由Cox的回归模型很好地描述。Cox模型的拟合是通过累积残差来验证的,进一步的细节见Martinussen和Scheike(2006)。因此,对剔除权重使用简单的KaplanMeier估计可能会导致严重的偏差估计。因此,我们在调用中加入了cens.model = "cox "的选项,这就使用了Cox模型中竞争风险模型的所有协变量作为剔除权数。一般来说,反概率删减权重的回归模型可以用来提高效率(Scheike等人,2008)。

现在我们来拟合模型

我们首先拟合一个一般比例模型,允许所有协变量具有时变效应。在下面的调用中,只有模型(6)中的协变量x被定义。模型(6)中的协变量z是由一个const操作符指定的。

summary(outf)
OUTPUT:
Competing risks Model
Test for nonparametric terms
Test for non-significant effects
Supremum-test of significance p-value H_0: B(t)=0
(Intercept) 3.29 0.0150
stage 5.08 0.0000
age 4.12 0.0002
chemo 2.79 0.0558
hgb 1.16 0.8890
Test for time invariant effects
Kolmogorov-Smirnov test p-value H_0:constant effect
(Intercept) 8.6200 0.0100
stage 1.0400 0.0682
age 0.0900 0.0068
chemo 1.7200 0.0004
hgb 0.0127 0.5040
Cramer von Mises test p-value H_0:constant effect
(Intercept) 3.69e+01 0.0170
stage 2.52e+00 0.0010
age 4.26e-03 0.0014
chemo 1.50e+00 0.0900
hgb 2.64e-04 0.4220

基于非参数检验的显著性检验显示,在非参数模型中,阶段和年龄是显著的,化疗是较显著的(p = 0.056),血红蛋白是不显著的(p = 0.889)。

图2

绘制估计的回归系数αj (t)及其95%的置信带,并分别绘制常数效应的观察检验过程和空值下的模拟检验过程。

R> plot(outf, score = 1)

图2显示了这些效应并不随时间变化而变化,在早期的时间段内效应相当明显。95%的指向性置信区间,以及95%的置信区间。

图3显示了相关的检验过程,用于决定时变效应是否具有显著的时变性,或者是否可以接受H0 : αj (t) = βj。这些图的摘要在输出中给出,我们看到阶段和化疗显然是时变的,因此与Fine-Gray模型不一致。Kolmogorov-Smirnov和Cramer von Mises检验统计数字对检验过程的两种不同总结是一致的,总的结论是三个变量都没有比例的Cox类型效应。我们看到血红蛋白被常数很好地描述,因此我们考虑用血红蛋白具有常数效应,其余协变量具有时变效应的模型。

图3


R> summary(outf1)
OUTPUT:
Competing risks Model
Test for nonparametric terms
Test for non-significant effects
Supremum-test of significance p-value H_0: B(t)=0
(Intercept) 5.46 0
stage 5.18 0 age 4.20 0
chemo 3.89 0
Test for time invariant effects
Kolmogorov-Smirnov test p-value H_0:constant effect
(Intercept) 10.100 0.000
stage 1.190 0.048
age 0.101 0.004
chemo 1.860 0.000
Cramer von Mises test p-value H_0:constant effect
(Intercept) 79.90000 0.000
stage 1.84000 0.006
age 0.00583 0.000
chemo 2.53000 0.000
Parametric terms :
Coef. SE Robust SE z P-val
const(hgb) 0.00195 0.00401 0.00401 0.486 0.627

Competing risks Model
Test for nonparametric terms
Test for non-significant effects
Supremum-test of significance p-value H_0: B(t)=0
(Intercept) 6.32 0
Test for time invariant effects
Kolmogorov-Smirnov test p-value H_0:constant effect
(Intercept) 1.93 0
Cramer von Mises test p-value H_0:constant effect
(Intercept) 14.3 0
Parametric terms :
Coef. SE Robust SE z P-val
const(stage) 0.45200 0.13500 0.13500 3.340 0.000838
const(age) 0.01450 0.00459 0.00459 3.150 0.001610
const(chemo) -0.37600 0.18800 0.18800 -2.000 0.045800
const(hgb) 0.00249 0.00401 0.00401 0.622 0.534000

我们注意到,血红蛋白的影响与更合适模型(如上图所示)的影响几乎相等。但由于模型中其他协变量的不适合,估计值可能有严重的偏差,因此可能误导了数据的重要特征。最后,我们将FG模型的预测与半参数模型的预测进行比较,后者对效应的描述更为详细。我们考虑对下面由新数据分配定义的两种不同的病人进行预测。患者类型I:疾病I期(阶段=0),40岁,没有化疗治疗(化疗=0),患者类型II:疾病II期(阶段=1),60岁,放疗加化疗联合治疗(化疗=1)。

R> newdata <- data.frame(stage = c(0, 1), age = c(40, 60), chemo = c(0, 1),
+ hgb = c(138, 138))
R> predict(out, newdata)

为了指定计算预测的数据,我们可以指定一个newdata参数。

基于该模型的预测可能不是单调的。我们绘制了没有点状置信区间(se = 0)和没有置信带(uniform = 0)的预测。图4(a)中的预测是基于灵活的模型,而图4(b)中的预测是基于FG模型的。I型和II型病人的复发累积发生率曲线分别用实线和虚线表示。图5(a)比较了基于灵活模型和FG模型对I型患者的预测结果。同样地,图5(b)比较了对II型病人的预测。两个预测值周围的断线代表了基于灵活模型的置信区。

图4

R> par(mfrow = c(1, 2))
R> plot(f1, se = 0, uniform = 1, col = 1, lty = 1
R> plot(fg, new = 0, se = 0, uniform = 0, col = 2, lty = 2,

较高的疾病阶段、较高的年龄和联合治疗会导致较高的累积发病率,其影响在时间段的早期更为明显(图4(a)和图2)。另一方面,化疗在时间段的最初增加了累积发病率,随后降低了发病率(图4(a)和图2)。图5显示,FG模型不能准确地模拟时变效应。尽管有这些差异,在这种情况下,总体预测有些类似,特别是当考虑到估计的不确定性。然而,协变量的时变行为显然是重要的。

图5

4. 讨论

本文实现了累积发病率曲线的灵活竞争风险回归模型,可以详细分析协变量效应如何预测累积发病率,并允许协变量的时间变化效应。可以检查较简单的模型的拟合度,同时可以产生带有置信区间和置信带的预测结果,这对研究人员很有用。


最受欢迎的见解

1.R语言绘制生存曲线估计|生存分析|如何R作生存曲线图

2.R语言生存分析可视化分析

3.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

4.r语言中使用Bioconductor 分析芯片数据

5.R语言生存分析数据分析可视化案例

6.r语言ggplot2误差棒图快速指南

7.R 语言绘制功能富集泡泡图

8.R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)

9.R语言中的生存分析Survival analysis晚期肺癌患者4例

拓端tecdat|R语言生存分析: 时变竞争风险模型分析淋巴瘤患者相关推荐

  1. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  2. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  3. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  4. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  5. 使用R语言进行Metroplis-in-Gibbs采样和MCMC运行分析

    全文链接:http://tecdat.cn/?p=12200 对于许多模型,例如逻辑模型,没有共轭先验分布.因此,吉布斯采样不适用(点击文末"阅读原文"获取完整代码数据). 这篇文 ...

  6. R语言生存分析(survival analysis)与生存资料有关的概念详解

    R语言生存分析(survival analysis)与生存资料有关的概念详解 目录 R语言生存分析(survival analysis)与生存资料有关的概念详解 #生存分析

  7. R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间

    R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间 目录

  8. R语言生存分析COX回归分析实战:以乳腺癌数据为例

    R语言生存分析COX回归分析实战:以乳腺癌数据为例 目录

  9. R语言生存分析Log-rank假设检验组间生存曲线比较实战

    R语言生存分析Log-rank假设检验组间生存曲线比较实战 目录 R语言生存分析Log-rank假设检验组间生存曲线比较实战 #log-rank检验

  10. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况

    R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况 目录

最新文章

  1. 2022-2028年中国工业4.0深度调研及投资前景预测报告(全卷)
  2. 使用camera_calibration对xtion pro live深度相机进行参数标定,rosdep install camera_calibration报错Rosdep cannot find
  3. SpringCloud_Sell.sql
  4. 暴库也不怕!EF Core加密存储数据
  5. Ubuntu修复Fix Busybox Initramfs错误
  6. java私有变量和_java – 大内部类和私有变量
  7. java8 内存设置_Java 8内存分析
  8. BZOJ1061 NOI2008 志愿者招募 线性规划、费用流
  9. 关于两个list深层遍历
  10. mybatis事物如何避免脏读_新手指南:如何从java电商小白到秒杀大咖
  11. javascript 高级编程系列 - 创建对象
  12. 事务 锁 悲观锁 乐观锁 概念 应用场景 使用方式 小记
  13. php choosewxpay fail,人人商城常见问题解决方案
  14. weblogic安装
  15. a标签实现下载文件功能
  16. windows 10纯净安装教程:从wepe下载制作启动盘到启动wepe系统安装windows10
  17. 当鼠标移动到上面时的应用
  18. 简单的图片数字时钟js代码
  19. dotnetbar-SuperTabControl禁止调整顺序
  20. IC笔试牛客网verilog刷题总结四

热门文章

  1. Subversion for Windows 相关工具
  2. Linux9.0下构建FTP服务器
  3. ASP.NET2.0中实现图像转换过滤效果
  4. 【Caffe】caffe框架讲解,解析修改caffemodel与prototxt
  5. 1月3日 接触ROS
  6. 凸优化第四章凸优化问题 4.1 优化问题
  7. 微信开发准备(三)--框架以及工具的基本使用
  8. 创建、删除swap分区
  9. DMTF云计算开放管理标准内容
  10. 【转】UML的9种图例解析