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 ...
随机推荐
- Linux运行脚本./XXXsh: line 1: $‘\r‘: command not found问题
Linux运行脚本./XXXsh: line 1: $'\r': command not found问题 在执行./xxx.sh命令时,系统报错: ./xxx.sh: line 1: $'\r': ...
- ShardingSphere系列(二)——ShardingSphere-JDBC绑定表
完整的项目示例地址:https://gitee.com/learnhow/shardingsphere/tree/v1.1/jdbc 紧接上一篇文章,这次我们介绍绑定表的概念. 绑定表指分片规则一致的 ...
- python安装sklearn
安装sklearn这个包,首先要安装三个依赖包,如图划红线的部分. 要找这三个包,我们都可以登录:https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy 这 ...
- Java日期时间API系列31-----Jdk8中java.time包中的新的日期时间API类,时间戳的获取方式对比、转换和使用。
时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到.Java中本来已经有相关获取时间戳的方法,Java8后增加新的类In ...
- day17-打印三角形及Debug
打印三角形 之前学习C++的时候也曾做过,于是乎凭借记忆又试了试,也还能试出来.代码如下: #include<stdio.h> int main(){ int i,j; for(i= ...
- centos rar文件解压不出
楼主的项目开发是在centos系统上面的,但是经常小伙伴发的压缩文件都是rar格式的. 在centos系统自带的解压的软件并不能解压rar格式的文件: 双击文件时,能弹出解压窗口,可是发现可以解压的更 ...
- HTML常见的文本语义标签
列举HTML里一些常用的块内语义元素.可以通过F12来查看每个示例. <strong>:即"重点内容",通常是加粗,对应Markdown中的**加粗. 示例:归约数往往 ...
- C++新版本特性
C++新特性 1.C++11 中的新特性 C++11 引入了许多新特性,包括自动类型推导.lambda 表达式.右值引用等.下面介绍其中的一些重要特性. 1.1 自动类型推导(Type Inferen ...
- CodeQL学习笔记(1)-QL语法(逻辑连接词、量词、聚合词、谓词和类)
最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把.本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习.个人觉得QL的语法比较反人类,至少与 ...
- 劉玥 的国内网站 —— https://spicy-gum.com
劉玥 的国内网站 -- https://spicy-gum.com