Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:保瑞 (中南财经政法大学)
邮箱:br19965956@163.com
目录
本文拟介绍 aevolcano
和 aedot
两个命令。其中,aevolcano
命令由 Zink 等 (2013) 开发,可用于绘制不良事件火山图。火山图不仅可以显示组间差异显著的不良事件 (发生数),还可以可以用于识别不同治疗组的不良事件发生率差值 (Risk Difference,RD) 及风险率 (Risk Rate,RR) 等。火山图中的气泡表示出现不良事件,大小表示每个事件发生的频数,颜色表示处理效应的方向,颜色饱和度对应处理效应的统计显著性。
aedot
命令由 Amit 等 (2008) 开发,可用于绘制不良事件点阵图。aedot
可以同时得到点阵图和森林图,二者并排分布。左边点阵图展示的是每个事件发生率的组间绝对差值,右边森林图展示的是 95% 置信区间的相对风险 (Relative risk) 或风险差值 (Risk difference)。
新药上市前后会有各种临床研究,其目的之一是评价药物的安全性。安全性评价指标主要包括生命体征指标测量、实验室检查和不良事件观察等。其中,不良事件 (adverse event,AE) 是指患者或临床试验受试者接受一种药品治疗后出现的不良医学事件,但并不一定与药物有因果关系。当前不良事件分析最简单的方法是,根据发生不良事件的病人数除以接受治疗的病人总数得到的粗率。粗率能反映不良事件的发生的基本情况,但是难以反映所发生不良事件的细节和特点。
森林图、树图、火山图、韦恩图、生存函数图和风险函数图等是对不良事件可视化以提高数据分析效率的几种主要表现形式。其中,本文介绍的火山图、点阵图/森林图可以帮助研究者迅速找到具有显著组间差异的不良事件,进而对这些不良事件进行细致的分析。
cnssc
发布了!她是 ssc
的中文镜像,下载速度超快!只需在你的 ssc
命令前加上 cn
就可以实现外部命令极速下载!
. ssc install cnssc, replace
. cnssc install aevolcano, replace
. cnssc get aevolcano
aevolcano varname, treat(varname) id(varname) n1(integer) n2(integer)
[options: ylineyn(#) yaxismax(#) yline(numlist) labelyn(#) label(#)
labcol1(colorstyle) labcol2(colorstyle) mfcolor1(colorstyle)
mfcolor2(colorstyle) legendyn(#) legend1(string) legend2(string)
oddsratio(#) padj(#) fdrlower(varname) fdrhigher(varname) fdrval(#)]
treat(varname)
:指定数据集分组变量,要求是数值型变量;id(varname)
:指定数据集种可以唯一识别的观测个体,要求是数值型变量,且一个 id 可对应多个事件;n1(#)
:指定第一个治疗组的参与者总数;n2(#)
:指定第二个治疗组的参与者总数。. use example_volcano.dta, clear
. aevolcano aebodsys, treat(arm) id(usubjid) n1(30) n2(32)
结果如下图所示:
图中 x 轴表示所发生不良事件在试验组与对照组间的差值,y 轴表示统计显著性。Risk difference 大于 0,表示该不良事件试验组发生较多,小于 0 的点表示该不良事件安慰剂组发生较多,偏离 0 点越远表明组间差异越大。y 轴表示组间差异的显著性水平,点在 y 轴上的数值越大代表该不良事件组间差异的
yaxismax(#)
:用于调整 y 轴的上限值,默认为 0;ylineyn(#)
:取值为 0 或 1,用于指定是否在途中添加水平线,添加设置为 1,否则为 0。yline(numlist)
设定 ylineyn(1)
之后,则可以根据 y 的取值,设定水平线出现的位置,默认选项 yline(1)
,表示在 y=1 处添加水平线,yline(1 2) 表示在图中 y=1 和 y=2 处同时添加两条水平线;labelyn(#)
:取值为 0 或 1,用于在气泡上标记。标记则设置为 1,否则为 0。默认标记具有统计显著性的变量,即 log10(p-value) > 1 的变量;label(#)
:设置标记气泡 labcol(colorstyle)
:设定标记文本的显示颜色,例如 labcol(red)
,默认为黑色。另外可以根据变量分组 (上述示例中分为 2 组,即 n1, n2) 进行分组标记,例如 labcol1(colorstyle)
、labcol2(colorstyle)
;mfcolor(colorstyle)
:设置气泡颜色 (不分组),默认是进行分组设置不同颜色。设置不同组别气泡颜色可以加入不同选项,例如 mfcolor1(orange)
和 mfcolor2(green)
;legendyn(#)
:用于添加图例,默认选项 legendyn(0)
表示不添加,添加则赋值为 legendyn(1)
。具体可以按不同组别添加,例如 legend1(Risk in Group 2)
、legend2(Risk in Group 2)
;oddsratio(#)
:默认情况下计算的是风险差异,若需要计算 odds ratio,添加 oddsratio(1)
即可。同理需要计算 risk ratio 时,加入 riskratio(1)
即可。需要注意的是,oddsratio(1)
和 riskratio(1)
只能选择一项加入;padj(#)
:表示是否采用统计中的错误发现率 (false discovery rate,FDR) 多重检验校正的 padj(0)
,即不进行校验,padj(1)
则表示采用 adjusted p-value 来表示显著性;fdrhigher(varname)
设置 padj(1)
后需要加入 fdrhigher(varname)
和 fdrlower(varname)
选项,其中 varname
分别表示不同层级的分类变量;fdrval(#)
:表示错误发现率 (false discovery rate,FDR) 调整取值,默认取值为 0.1。. use example_volcano.dta, clear
. aevolcano aebodsys, treat(arm) id(usubjid) n1(30) n2(31) ///
ylineyn(1) yaxismax(0.2) yline(1 2) labelyn(1) ///
label(0.5) labcol1(green) labcol2(red) mfcolor1(orange) ///
mfcolor2(green) legendyn(1) legend1(Intervention) ///
legend2(Placebo) oddsratio(1) padj(1) fdrlower(ae_pt) ///
fdrhigher(aebodsys) fdrval(0.05)
结果如下图所示:
. cnssc install aedot, replace
. cnssc get aedot
aedot aebodsys, treat(varname) id(varname) n1(#) n2(#) ///
[options: leftsymb1(symbolstyle) legendleft1(symbolstyle) ///
legendleft2(string) riskdiff(#) leftlabsize(#) rightxline(#) ///
leftxtitle(string) legendleftyn(#) legendrightyn(#) ///
brightmargin(#) trightmargin(#) logoff(#) rightxlabel(numlist) ///
nummargin(#) margin(#) event1pos(#) event2pos(#) marginpos(string)]
与 aevolcano
类似,aedot
也包含 4 个必选项:
treat(varname)
:指定数据集分组变量,要求是数值型变量;id(varname)
:指定数据集种可以唯一识别的观测个体,要求是数值型变量,一个 id 可对应多个事件;n1(#)
:指定第一个治疗组的参与者总数;n2(#)
:指定第二个治疗组的参与者总数。. use example_dot.dta
. aedot aebodsys, treat(arm) id(usubjid) n1(30) n2(31)
结果如下图所示:
leftsymb(symbolstyle)
:给左边点阵图设定标记符号,默认为圆圈 leftsymb1(circle)
。可分别设置多个组别显示符号,例如二分组可以加入两个选项 leftsymb1(symbolstyle)
,leftsymb2(symbolstyle)
;legendleftyn(#)
:指定是否添加图例,添加为 legendleftyn(1)
,否则为 legendleftyn(0)
,默认添加。多个组别可以加入多个选项,例如示例分为 Placebo 组和 Intervention 组,加入 legendleft1(Placebo)
,legendleft2(Intervention)
即可;riskdiff(#)
:用于显示相应置信水平下的相对风险 (Relative Risk) 或相应置信水平下的风险差值 (Risk Difference)。计算相对风险则为 riskdiff(0)
,计算风险差值则为 riskdiff(1)
;leftlabsize(#)
:设定左侧标记文本字体大小,默认为 leftlabsize(1)
;rightxline(#)
:在右边森林图上添加垂直参考线,默认为rightxline(0)
,括号内为数值;leftxtitle(string)
:设置左图 X 轴标题,默认为 "Percentage",括号内为字符;brightmargin(#)
:设置右图下边距,默认为 brightmargin(2)
,相对应地,trightmargin(#)
用于调整右图上边距,默认为 trightmargin(5)
;logoff(#)
:用于设定是否在取对数的基础上计算相应置信区间的相对风险 (relative risk),默认为 logoff(0)
,即不取对数;rightxlabel(numlist)
:自定义设置右边图形 X 轴的取值,默认为 rightxlabel(0.5 1 2)
;nummargin(#)
:在右图添加空白边距,默认为 nummargin(0)
,即不添加;event1pos(#)
:设定放置组 1 事件发生数的 X 轴位置,同理设置组 2,加入 event2pos(#)
即可;marginpos(string)
:设定添加事件频数表的位置,marginpos(l)
表示放置在左侧,marginpos(r)
表示放置在右侧。. use example_dot.dta, clear
. aedot aebodsys, treat(arm) id(usubjid) n1(30) n2(31) ///
legendleft1(Placebo) legendleft2(Intervention) riskdiff(0) ///
leftlabsize(2) rightxline(1) leftxtitle(percent) ///
brightmargin(7) trightmargin(8) nummargin(1) margin(20) ///
event1pos(4.2) event2pos(5.5) marginpos(r)
结果如下图所示:
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh