R使用multinma程序包实现生存数据的贝叶斯网状meta分析

前言

multinma是由Phillippo开发的程序包,主要用来实现基于IPD校准的多水平网状Meta回归(ML-NMR),同时该程序包也可以用来实现传统的网状meta分析。今天的文章介绍如何使用multinma程序包实现生存数据的贝叶斯网状meta分析,用来评估6种免疫疗法( Camrelizumab、Tislelzumab、Toripalimab、Sintilimab、Pembrolizumab、Nivolumab)联合化疗方案治疗一线晚期或转移性鳞状食管癌的NMA。

程序包及数据加载

首先是相关程序包安装及加载,其次是数据的加载,multinma的数据要求与gemtc相同,多一列每种干预措施的样本量。

install.packages("multinma")
library(tidyverse)
library(multinma)
library(bayesplot)
library(cowplot)
OS <- read_csv("OS_HR.csv")

模型初始设定与网状证据图

通过set_agd_contrast进行模型的初始设定,然后使用plot函数进行网状证据图的绘制。

nma.set = set_agd_contrast(OS,trt_ref = "che",study = Study,trt = Treatment,y = logHR,se = std.err,sample_size = n)plot(nma.set, weight_edges = TRUE)

图片

运行模型

使用nma函数运行NMA模型

os.nma<- nma(nma.set,trt_effects = "fixed",               likelihood = "normal",               link = "identity",                 seed = 123,adapt_delta = 0.90,warmup = 20000,iter = 40000,chains = 4)

模型运行过程

图片

模型结果

图片

使用dic查看模型拟合优度,可以对比固定模型和随机效应模型(DIC越小模型效果越好)

dic(os.nma)
--------------------------------------------------
Residual deviance: 6 (on 6 data points)pD: 6DIC: 12

mcmc诊断图

绘制贝叶斯需要诊断的三类图mcmc_trace(轨迹图)、mcmc_neff(有效样本量与总样本量的比率)和mcmc_rhat(Rhat是一种收敛诊断方法,它比较了各条链的参数估计值,Rhat值接近1说明链已经收敛并且混合良好;如果Rhat值为1.05或更高,表明存在收敛问题,需增大迭代量)

diag_plot <- function(model, pars_list, ncol_trace){color_scheme_set("teal")plt_1 <- mcmc_trace(as.array(model), pars = pars_list,facet_args = list(ncol = ncol_trace, strip.position = "left")) + theme_classic() + theme(axis.text = element_blank(),axis.ticks = element_blank(),strip.background = element_blank(),strip.text = element_blank(),legend.position = "none")plt_2 <- neff_ratio(model, pars = pars_list) %>%mcmc_neff() +theme_classic() + theme(legend.position = "none")plt_3 <-rhat(model, pars = pars_list) %>%mcmc_rhat() + #theme_+ theme(legend.position = "none")grid <-plot_grid(plt_2, plt_3, ncol = 2, align = "hv", axis = "b",rel_widths = c(1, 0.5))plot_grid(plt_1, grid, ncol = 1, align = "hv", axis = "l",rel_heights = c(0.5, 1))}
diag_plot(model = os.nma$stanfit,pars_list = c("d[cam_plus_che]","d[niv_plus_che]","d[pem_plus_che]","d[sin_plus_che]","d[tis_plus_che]","d[tor_plus_che]"),ncol_trace = 3)

图片

 

森林图

使用plot绘制森林图(需要对模型结果进行log转换)

plot(os.nma, ref_line = 1)+scale_x_continuous(breaks = log(seq(0.2, 1.8, 0.2)),labels = seq(0.2, 1.8, 0.2),limits = log(c(0.4, 2

图片

还可以绘制后验分布面积图对森林图进行美化

plot(os.nma, pars = "d",stat = "halfeye",point_interval = ggdist::median_hdi,.width = 0.95,ref_line = 0) + aes(fill = stat(x < 0))+scale_x_continuous(breaks = log(seq(0.2, 1.6, 0.2)),labels = seq(0.2, 1.6, 0.2),limits = log(c(0.4, 1.6)))+scale_fill_manual(values = c("#BFBFBF","#5C8286"))

图片

 

概率排序图

使用posterior_rank_probs计算不同干预措施排序的概率

rankprobs <- posterior_rank_probs(os.nma)
plot(rankprobs)

图片

通过设置sucra=TRUE,cumulative = TRUE计算不同干预措施排序的累积概率

cumrankprobs <- posterior_rank_probs(os.nma, sucra=TRUE,cumulative = TRUE)plot(cumrankprobs)                                                               

图片

使用posterior_ranks计算不同干预措施成为最优方案的排序

ranks <- posterior_ranks(os.nma,lower_better=TRUE)
plot(ranks)

图片

此外还可以对nma函数设置consistency="nodesplit"进行节点分割法判断模型的一致性,由于本次模型干预措施未连成网状,遂未展示。更多的功能与丰富案例可参考其官方手册。

参考文献

[1]  https://dmphillippo.github.io/multinma/articles/example_hta_psoriasis.html.

[2] 小侃数据:手把手系列教程|基于贝叶斯学派使用R的multinma包做连续变量网状meta分析(https://mp.weixin.qq.com/s/se9fQe4CT4CEJbLQ-o5AZA)

[3] 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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572639.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习JavaEE的日子 Day29 yield,join,线程的中断,守护线程,线程局部变量共享,线程生命周期

Day29 多线程 12. 线程的礼让 Thread.yield(); 理解&#xff1a;此方法为静态方法&#xff0c;此方法写在哪个线程中&#xff0c;哪个线程就礼让 注意&#xff1a;所谓的礼让是指当前线程退出CPU资源&#xff0c;并转到就绪状态&#xff0c;接着再抢 需求&#xff1a;创建两个…

SPRING-BOOT实现HTTP大文件断点续传分片下载

版本&#xff1a;6.5.40 代码&#xff1a;up6-jsp-springboot: Web大文件上传-jsp-springboot示例 - Gitee.com nosql示例 nosql示例不需要进行任何配置&#xff0c;可以直接访问测试。 SQL示例 1.创建数据库 2.配置数据库连接 3.自动下载maven依赖 4.启动项目 启动成功 6.访…

肿瘤靶向肽 iRGD peptide环肽 1392278-76-0 c(CRGDKGPDC)

RGD环肽 c(CRGDKGPDC)&#xff0c;iRGD peptide 1392278-76-0 结 构 式&#xff1a; H2N-CRGDKGPDC-OH(Disulfide Bridge:C1-C9) H2N-Cys-Arg-Gly-Asp-Lys-Gly-Pro-Asp-Cys-COOH(Disulfide Bridge:Cys1-Cys9) 氨基酸个数&#xff1a; 9 C35H57N13O14S2 平均分子量:…

【机器学习之旅】概念启程、步骤前行、分类掌握与实践落地

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

国赛大纲解读

1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…

针对COT控制模式下低ESR电容造成次谐波振荡问题的片内斜波补偿方案

COT模式&#xff1a;MOS管固定导通时间控制模式&#xff0c;关断时间由输出反馈电压与内部基准源的相较值决定。 RBCOT控制模式&#xff1a;Ripple-Based COT基于纹波的固定导通时间控制方法&#xff0c;特别的是环路控制部分主要有固定导通时间发生装置及比较器组成。RBCOT控…

[linux] AttributeError: module ‘transformer_engine‘ has no attribute ‘pytorch‘

[BUG] AttributeError: module transformer_engine has no attribute pytorch Issue #696 NVIDIA/Megatron-LM GitHub 其中这个答案并没有解决我的问题&#xff1a; import flash_attn_2_cuda as flash_attn_cuda Traceback (most recent call last): File "<stdi…

【C++语言】冲突-C语言:命名冲突(输入输出、缺省参数、引用、内联函数)

文章目录 前言正文2. C的输入与输出&#xff1a;3.缺省参数3.1 缺省参数的概念&#xff1a;3.2 缺省参数的分类&#xff1a;全缺省参数&#xff1a;半缺省参数&#xff1a; 4.函数重载4.1 函数重载的概念&#xff1a; 5.引用5.1 引用的基本概念&#xff1a;5.2 引用的特性&…

gopher伪协议

基础知识 基本格式 基本格式&#xff1a;URL:gopher://<host>:<port>/<gopher-path>web也需要加端口号80gophert协议默认端口为70gopheri请求不转发第一个字符 get请求 问号&#xff08;&#xff1f;)需要转码为URL编码&#xff0c;也就是%3f回车换行要变…

sheng的学习笔记-AI-YOLO算法,目标检测

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 目录 目标定位&#xff08;Object localization&#xff09; 定义 原理图 具体做法&#xff1a; 输出向量 图片中没有检测对象的样例 损失函数 ​编辑 特征点检测&#xff08;Landmark detection&#xff09; 定义&a…

云原生(六)、CICD - Jenkins快速入门

Jenkuns快速入门 一、CICD概述 CICD是持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;的缩写。它是软件开发中的一种流程和方法论&#xff0c;旨在通过自动化的方式频繁地将代码集成到共享存储库中&#xf…

STM32启动文件命名方式说明以及启动过程分析

1、启动文件的路径 cl&#xff1a;互联型产品&#xff0c;stm32f105/107系列 vl&#xff1a;超值型产品&#xff0c;stm32f100系列 xl&#xff1a;超高密度产品&#xff0c;stm32f101/103系列 flash容量大小&#xff1a; ld&#xff1a;小容量产品&#xff0c; 小于64KB md…