scitable包sci_TTE函数发布,轻松完成模拟RCT研究分析
在医学研究中随机对照试验RCT一直是验证疗效和安全性的“金标准”。但在现实世界中受限于伦理、成本或可行性我们往往无法开展完美的RCT。这时候海量的观察性大数据如电子病历、医保数据就成了我们的宝藏。但直接拿这些数据做分析常常被诟病“混杂因素多”、“因果推断弱”。有没有一种方法能让观察性研究拥有RCT般的严谨逻辑答案是肯定的。就是基于“目标试验模拟”Target Trial Emulation框架的大数据分析法。也有叫真实实验研究模拟RCT分析。模拟RCT研究分析主要是通过平衡数据中的协变量来实现通常使用的是倾向频分匹配逆概率加权重叠加权等。在既往我已经发布了文章《重叠加权Overlap Weighting OW在真实世界研究仿RCT研究的应用》介绍了我自己编写的sciiptw函数如何快速生成倾向频分逆概率加权权重重叠加权权重。本次继续介绍生成权重后如何继续分析主要是通过我写的sci_TTE函数这个函数本来早就写好了但是近期看了书籍《Causal Inference in R》给了我蛮多启发于是又修改了一些东西比如权重的评估修剪和权重的分布比较等。下面正式开始先导入数据和R包数据是原来我最竞争风险模型的数据我稍微修改一下没有现实意义library(scitable)library(ggscitable)library(survey)library(jskm)setwd(E:/公众号文章2026年/加权竞争风险模型)follic1-read.csv(follic1.csv,sep,,headerTRUE)levels(factor(follic1$Trt))follic1$status-ifelse(follic1$status0,0,1)Trt是咱们研究的变量单独治疗或者联合治疗status结局变量time 是时间其他是协变量。sci_TTE函数函数支持cox回归逻辑回归和线性回归使用sci_TTE函数函数做模拟RCT研究只需要一句代码data这里填入你的数据time填入你的时间y是结局x是你的研究变量family这里选择研究类型weights这里填入你之前生成的权重生成的结果包括数据列表和图片out-sci_TTE(datafollic1,timetime,ystatus,xTrt,weightsipw_ate_stab,familycox,usernameusername,tokentoken)生成一个列表和3个图片因为生存分析中多了一个时间参数所以可以比较累积生存率逻辑回归和线性回归是没有图的。列表中的out就是结果咱们把它提取出来tb-out[[out]]这个可信区间是通过三明治方法重新修正过的如果你直接使用模型解析肯定不一样的结果中还展示了权重分布你可以自己控制权重的范围书籍《Causal Inference in R》中权重过大会影响结果判断所以你可以去掉异常的权重结果###限制权重tab2-sci_TTE(datafollic1,timetime,ystatus,xTrt,weightsipw_ate_stab,familycox,weights.limitc(0.1,1.5),usernameusername,tokentoken)咱们可以看到经过限制后权重在0.1到1.5之间了。对于生存分析函数咱们也可以使用ggsciTTE函数来绘制便于进一步修改out2-ggsciTTE(datafollic1,timetime,ystatus,xTrt,weightsipw_ate_stab,familycox,usernameusername,tokentoken)比如我想修改图例的位置####变更位置out2-ggsciTTE(datafollic1,timetime,ystatus,xTrt,weightsipw_ate_stab,familycox,usernameusername,tokentoken,legendpositionc(0.6,0.2))sci_TTE函数也支持加入协变量进一步分析out3-sci_TTE(follic1,timetime,ystatus,xTrt,weightsipw_ate_stab,covc(age,hgb),familycox,usernameusername,tokentoken)接下来演示逻辑回归基本都一样就是换一个family############glm模型out4-sci_TTE(follic1,timetime,ystatus,xTrt,weightsipw_ate_stab,covc(age,hgb),familyglm,usernameusername,tokentoken)tb4-out4[[out]]线性回归线性回归也是family glm“函数会根据数据类型自己进行选择setwd(E:/公众号文章2026年/模拟RCT的sci_TTE函数)df_sim-read.csv(df_sim.csv,sep,,headerTRUE)out5-sci_TTE(df_sim,yy,xx1,weightsweights,covc(x2),familyglm,usernameusername,tokentoken)tb5-out5[[out]]目前写出了一个框架还有一些功能带继续开发比如有向无环图等本期结束。文字展示有限下面视频更加详细精彩。