之前的推文系统的介绍了使用netmeta
包实现对二分类变量、连续型变量和罕见事件的网状meta分析。今天的文章介绍如何使用netmeta
程序包实现生存数据的频率学网状meta分析,用来评估6种免疫疗法( Camrelizumab、Tislelzumab、Toripalimab、Sintilimab、Pembrolizumab、Nivolumab)联合化疗方案治疗一线晚期或转移性鳞状食管癌的NMA。
1. 程序包加载及数据加载
library(netmeta)
OS <- read_csv("netmeta.csv")
2. 模型构建
使用netmeta
函数构建NMA分析模型,其中TE = log(HR),seTE = (log(upperCI) - log(lowerCI))/3.92)
m.netmeta <- netmeta(TE = TE, # TE = log(HR)
seTE = seTE, # seTE = (log(upperCI) - log(lowerCI))/3.92)
treat1 = treat1,
treat2 = treat2,
studlab = study,
data = OS,
sm = "HR",
reference.group = "che",
sep.trts = " vs ")
3. 网络证据绘制
使用netgraph
函数绘制网络证据图
netgraph(m.netmeta,
points=T,
plastic=F,
col = "#5C8286",
col.points = "#BFBFBF",
bg.points = "#5C8286",
number.of.studies = T,
cex=1.5,
cex.points=c(4,7,4,4,4,4,4))
4. 森林图绘制
使用forest
函数绘制森林图
forest(m.netmeta,
reference.group = "che",
smlab = paste("IO-chem vs chemo"),
drop.reference.group = TRUE,
label.left = "HR",
col.square = "#5C8286",
drop = TRUE,
sortvar = -TE,
label.right = "95% CrI")
5. 两两比较赛联表制作
使用 netleague
函数计算两两比较结果
netleague <- netleague(m.netmeta,
bracket = "(",
digits=2)
# netleague
write.csv(netleague$random, "netleague.csv")
6. 排序(SURCA )
使用netrank
函数计算累积概率并绘制条形排序图
netrank(m.netmeta, small.values = "good")
P-score (common) P-score (random)
tor_plus_che 0.8446 0.8446
sin_plus_che 0.7316 0.7316
tis_plus_che 0.6340 0.6340
cam_plus_che 0.5010 0.5010
pem_plus_che 0.3954 0.3954
niv_plus_che 0.3917 0.3917
che 0.0018 0.0018
参考文献
[1] Gao, Tian-Tian et al. “Comparative efficacy and safety of immunotherapy for patients with advanced or metastatic esophageal squamous cell carcinoma: a systematic review and network Meta-analysis.” BMC cancer vol. 22,1 992. 17 Sep. 2022, doi:10.1186/s12885-022-10086-5IF: 3.8 Q2.