R数据分析:国产新冠口服药比辉瑞好的文章的统计做法分享
元旦前在人民日报中央厨房上看到一篇文章,叫做“比肩辉瑞的国产新冠药物VV116,是这样研制和临床试验的”,想来就把文献原文找来读了读,写下本文分享给大家,本文主要关注文章的正文中主要统计设计(文章补充材料中还有很多值得学习的地方),前面的实验设计,包括盲法,纳排标准统统不在本文考虑,主要目的是让大家感受下NEJM的杂志的统计做法到底有多“难”。
研究原文链接如下:
https://www.nejm.org/doi/pdf/10.1056/NEJMoa2208822,点击即可阅读。
文章的主要样本入组流程如下:
假设
通过这个研究,作者想说明国产药不劣于辉瑞
The primary efficacy hypothesis was that VV116 would be noninferior to nirmatrelvir–ritonavir with respect to sustained clinical recovery
之前给大家写过,对于临床干预性研究样本量是一个非常非常非常重要的问题:我们首先要考虑清楚如果国产药真的真的不劣于辉瑞,那么需要有多少样本才能让我们在一次实验中很有把握(作者取了0.85)发现这种差异。
作者说了,要证明我这个药比辉瑞的好,那么我主要结局的HR95置信区间下限得大于0.8。意味着假设辉瑞药的康复时间是5.5天,那么我口服国产药康复时间一定要比6.875天快。那么就至少需要724个样本才能够真的不劣的时候有85%的可能得到阳性结果。
To satisfy the noninferiority hypothesis, the lower boundary of the two-sided 95% confidence interval for the hazard ratio of the primary end point had to be above 0.8. The noninferiority margin corresponds to a duration of 6.875 days to sustained clinical recovery, which is 25% longer than 5.5 days. A minimum of 724 events were required to ensure a statistical power of 85%.
怎么算的,这儿给大家来个演示
对于原假设HR界值为0.8的单侧检验,在R语言中生存数据的样本量计算函数nEvents中,设定阿尔法为0.025,单侧检验sided=1,两组样本比例为1,样本n=724,运行下面代码,将n设定为724,就可以保证达到统计效能power达到0.85:
作者是用EAST6这个软件算的,其实在R中都能搞定。
再看主要结果展示,主要结果展示很简单,没有花里胡哨的任何东西,就是非常简单的生存数据的描述统计,加上一个cox模型做出来的HR就完了。HR大于1说明国产药更好,因为结局是完全康复,结合HR的定义
我们知道其实是将辉瑞作为参考组得到的HR
The 95% confidence intervals were estimated with the use of normal approximation (Brookmeyer– Crowley method) on the basis of log–log transformation. Hazard ratios were calculated with the use of the Cox proportional-hazards model. A lower boundary of the two-sided 95% confidence interval for the hazard ratio of more than 0.8 was considered to indicate noninferiority (with a hazard ratio of >1 suggesting that participants receiving VV116 had a shorter time to sustained clinical recovery than those receiving nirmatrelvir–ritonavir).
文章的主要分析就给大家写完了,剩下还有很多生存数据的描述统计的结果在R中做起来都非常简单,之前也有写过。
以上就是主要统计结果展示,没了。很多描述统计和一个cox得到的HR。
看到这,相信你也感觉到了,主体文章的整个统计分析的做法就是一般小硕的水平,流病的本科生都能做,我这个业余选手也能做,如果你还做不来,多看几遍我之前发的文章你肯定也会做了,就这么简单。回过头来再想想你与NEJM差的是统计嘛?是写作吗?差的是做不来分析吗?是想不出来实验设计嘛?不是的,是资源,是思想,是你能不能在上海封控的时候调度7家定点医院的资源来做实验。所以优势资源的整合尤其重要,如果您需要一个强大的数据处理和分析资源请联系我!务必。
另外,本文中主要结局的评估工具新冠症状的评估表给大家放在下面,这应该算的上是最有科学性的新冠症状了,大家也可以用来评评自己和家人:
R数据分析:国产新冠口服药比辉瑞好的文章的统计做法分享的更多相关文章
- 数据、人工智能和传感器按COVID-19新冠流感排列
数据.人工智能和传感器按COVID-19新冠流感排列 Data, AI and sensors arrayed against COVID-19 各国政府.卫生保健专业人士和工业界争先恐后地应对Cov ...
- SIR模型预测新冠病毒肺炎发病数据
大家还好吗? 背景就不用多说了吧?本来我是初四上班的,现在延长到2月10日了.这是我工作以来时间最长的一个假期了.可惜哪也去不了.待在家里,没啥事,就用python模拟预测一下新冠病毒肺炎的数据吧.要 ...
- Python模块---制作新冠疫情世界地图()
目录 pyecharts模块 简介 安装pyecharts 测试pyecharts模块 pyecharts实战:绘制新冠肺炎疫情地图 需求分析 请求数据 提取数据 处理数据 制作可视化地图 设置可视化 ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- Python小白的数学建模课-B5. 新冠疫情 SEIR模型
传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. 考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫的传染病. 本 ...
- Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型
传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SEIR 模型考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫 ...
- Python小白的数学建模课-B4. 新冠疫情 SIR模型
Python小白的数学建模课-B4. 新冠疫情 SIR模型 传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SIR 模型将人群分为易感者(S类). ...
- R数据分析:生存分析与有竞争事件的生存分析的做法和解释
今天被粉丝发的文章给难住了,又偷偷去学习了一下竞争风险模型,想起之前写的关于竞争风险模型的做法,真的都是皮毛哟,大家见笑了.想着就顺便把所有的生存分析的知识和R语言的做法和论文报告方法都给大家梳理一遍 ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
- 2022李宏毅作业hw1—新冠阳性人员数量预测。
事前 : kaggle地址:ML2021Spring-hw1 | Kaggle 我的git地址: https://github.com/xiaolilaoli/lihongyi2022homew ...
随机推荐
- golang的类型转换
今天我们来说说一个大家每天都在做但很少深入思考的操作--类型转换. 本文索引 一行奇怪的代码 go的类型转换 数值类型之间互相转换 unsafe相关的转换 字符串到byte和rune切片的转换 sli ...
- USB PD和USB TYPE-C 的区别
USB Power Delivery (USB PD) 和 USB Type-C 是两个不同但相关的技术标准,它们在功能和应用上有所区别. 1. USB Type-C 连接器标准: USB Type- ...
- 根据字符串,获取实体属性上的annotation,如:createTime” 找到对应实体属性中的 TableField(value = "create_time", fill = FieldFill.INSERT)
根据字符串,获取实体属性上的annotation,如:createTime" 找到对应实体属性中的 TableField(value = "create_time", f ...
- C240817D. 模拟赛:树上dp(以i为起点)+set操作
C240817D. 模拟赛 比较显然的树上dp, 但是维护set比较烦 考场上其实自己是定义 \(f[i]\) 是以 \(i\) 结尾, 然后这样的话单次更新根本做不到 \(O(logN)\). 反应 ...
- 在线激活win
目前DragonKMS神龙版能激活win11.win10.win8/8.1.win7以及server2008/2012/2016/2019/2022等系统版本,其中包括:专业工作站版.企业版.专业版. ...
- NATAPP实现内网穿透简易教程
NATAPP是什么 NATAPP是一个十分容易上手的内网穿透工具,可以把本机的ip和端口映射到公网,将本机暴露在公网中供他人访问. 这在进行一些回调接口的本地测试(如支付宝微信支付的回调接口)时十分好 ...
- 超级干货!Air780E的串口通信分享
猛然发现,Air780E的串口通信还没分享,难怪已经有小伙伴提出了要求! 那我们来讲解低功耗4G模组Air780E的串口通信的基本用法,小伙伴们,学起来吧! 一.硬件准备 780E开发板一套 ...
- rabbitmq消息中间件的初步探索
在上次学xattr的时候用它简单实现一个中间件,我去了解了一下rabbitmq这个消息中间件,感觉理论上还是挺好用的,给一般并发量的系统用足够了. 首先安装这个服务. sudo apt search ...
- 全网最适合入门的面向对象编程教程:59 Python并行与并发-并行与并发和线程与进程
全网最适合入门的面向对象编程教程:59 Python 并行与并发-并行与并发和线程与进程 摘要: 在 Python 中,"并行"(parallelism)与"并发&quo ...
- Python网络爬虫之requests模块1
Python网络爬虫之requests模块(1) 引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包 ...