生存分析时时P值不显著?生存曲线交叉怎么办?ggscitable包完美复现顶刊(柳叶刀)landmark分析

我们在临床研究中,经常要研究疾病与生存率的关系,cox回归是用得比较常见的模型之一。Cox 比例风险模型依赖于风险随时间变化的假设(PH假设),意思是协变量对结局的影响随着时间变化是固定的。
然而然而实际操作中经常有P值大于0.05,生存曲线交叉,表明,两组生存率没有明显区别,那咱们要不要放弃了呢?
咱们来看看顶刊NEJM新格兰杂志是如何处理,在文章Differential clinical outcomes after 1 year versus 5 years in a randomised comparison of zotarolimus-eluting and sirolimus-eluting coronary stents (the SORT OUT III study): a multicentre, open-label, randomised superiority trial(在随机比较雷帕霉素洗脱支架和西罗莫司洗脱支架1年后和5年后的临床差异结局(SORT OUT III研究):一项多中心、开放标签、随机 superiority 试验) 中,
在这里插入图片描述
这篇文章主要时研究两种支架放置后,观察它们不良事件的发生率, (下图)

在这里插入图片描述
作者使用了k-m曲线,发现两个支架的不良事件无明显区别,P=0.40, 但是作者发现在12个的时候,两条曲线还是分得比较开的,有可能在0-12个月这段时间,两条曲线时有区别的。因此作者做了个landmark分析,简单来说就是把时间点在12个月这里分成2段,观察这两段时间不良发生率的区别

在这里插入图片描述
结果表明在0-12月这段时间,蓝色先不良事件发生率明显高于红色,OR:2.13,大于12个月后2个支架的不良事件发生率无明显区别,作者的结论也是这样的。

在这里插入图片描述
今天咱们通过ggscitable包来复现这篇文章的B图的landmark分析。

先导入R包和数据,使用的时我既往的体检数据,

library(ggscitable)
bc<-read.csv("E:/r/test/demo.csv",sep=',',header=TRUE)
bc$SEX<-as.factor(bc$SEX)
bc$OCCU.NEW<-as.factor(bc$OCCU.NEW)
names(bc)
str(bc)

在这里插入图片描述
数据变量很多,我解释几个我等下要用的,HBP:是否发生高血压,结局指标,AGE:年龄,是我们的协变量,SEX:性别,OCCU.NEW这个我也不知道时什么,反正是个2分类变量。公众号回复:体检数据,可以获得数据。

假设我想知道不同OCCU.NEW的分类结局的高血压结局有没有区别,先来个常规的

###常规绘图
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",
      legendposition=c(0.25,0.8))

在这里插入图片描述
我们可以看到两条曲线胶合在一起,P值大于0.05,看下累积发病率,也是一样的

scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,
      legendposition=c(0.25,0.8))

在这里插入图片描述
我们可以看到在30岁这个位置,两条曲线还是分得比较开的,有可能在0-30岁这个区间两个支架的不良事件结局时有区别的,所以我们可以把节点设置为30

####landmark
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,
      legendposition=c(0.25,0.8),landmark.point = 30,HR=T)

在这里插入图片描述
上面HR时通过COX回归算出来的,和下面的基本一样,我们把下面的P值关掉

###关掉P值显示
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,
      legendposition=c(0.25,0.8),landmark.point = 30,HR=T,pval = F)

在这里插入图片描述
右边这个P值和曲线重合了,咱们调整一下

###调整位置
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,
      legendposition=c(0.25,0.8),landmark.point = 30,HR=T,pval = F,
      hrtxt2.x = 65)

在这里插入图片描述
上图这个可以用于发表的图片就基本画好了,scikm函数提供了2种landmark的算法,都是可靠的权威的算法,放心用,使用landmark.type这个参数来改变,默认的时A算法,如果你想换另一种

###方法2
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,
      legendposition=c(0.25,0.8),landmark.point = 30,HR=T,landmark.type = "B",pval = F)

在这里插入图片描述
如果你研究HR的变化,还可以加入协变量

###加入协变量
scikm(data = bc,x= "OCCU.NEW",y="HBP",time = "AGE",cumhaz=T,cov = "SEX",
      legendposition=c(0.25,0.8),landmark.point = 30,HR=T,pval = F,
      hrtxt2.x = 65)

在这里插入图片描述
我们可以看到,加入性别这个变量后,P值明显变化,说明这个时对结局影响明显的变量。

未完待续。下面还有视频介绍

生存分析时时P值不显著?生存曲线交叉怎么办?ggscitable包复现顶刊(柳叶刀)landmark分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值