一键完成亚组(分层)分析及其森林图,支持连续性及二分类的自变量了!

文摘   科学   2024-07-02 13:35   上海  


本文介绍了利用 MSTATA 软件,一键完成回归分析的亚组(分层)分析表格,并自动生成亚组森林图,得到满足论文发表所需的的所有 word 图表,可以直接投稿。


MSTATA 软件之前支持两组疗效比较的亚组分析和森林图,但是只支持二分类的自变量(例如 A 组和 B 组的疗效比较),广大用户不断呼吁,需要支持连续性变量做自变量的回归分析亚组(分层)分析。因此,我们对软件进行了升级,目前支持连续性和二分类的自变量了,支持 Linear/Logistic/Cox 模型,今后还将支持广义线性模型和有序分类 Logistic 模型。


回归分析的亚组(分层)分析及森林图的绘制

一键完成回归分析的亚组(分层)分析的论文发表级(Publication - ready) 表格:


应变量为是否恶化,自变量为 A 组 B 组:


应变量为是否恶化,自变量为 连续性变量(年龄):


软件位于 www.mstata.com 进入软件后选 “因果推断” 下拉菜单,选 “确证性影响因素研究 - 回归分析的亚组(分层)分析” 模块。




亚组(分层)分析的定义和概念

亚组分析是指在总体研究样本中,根据某些特征将样本划分为若干亚组,并在每个亚组内进行独立的分析。其目的是探讨不同亚组在某些特定特征下的差异,揭示出整体分析中可能被忽视的细节。亚组分析通常应用于回归分析之后,以进一步细化研究结果,使其更具针对性和实用性。

为什么回归分析之后要做亚组分析?

虽然回归分析可以揭示总体样本的趋势和关系,但不同特征(如年龄、性别、疾病分期等)可能对结果有不同的影响。通过亚组分析,我们可以:

  1. 识别异质性:揭示不同亚组之间的差异,识别是否存在某些亚组对治疗或干预有不同的反应。

  2. 提高结果的外推性:通过细分亚组,研究结果更能代表不同特征人群,提高其外推性。

  3. 制定个性化治疗策略:在医学研究中,不同亚组的患者可能需要不同的治疗方法,亚组分析可以帮助制定更为精准的治疗策略。

医学研究的例子

自变量为二分类变量的例子

例如,在一项研究中,探讨两种药物(药物A和药物B)对某种疾病的治疗效果。研究者首先进行总体样本的回归分析,得出药物A和药物B在总体人群中的效果。然而,考虑到疾病的分期和等级可能影响药物效果,研究者进一步进行亚组分析,将样本根据疾病的分期(如T1、T2、T3、T4)和等级(如I、II、III)分为不同亚组,分别分析各亚组内两种药物的效果。

通过亚组分析,研究者发现:

  • 在疾病分期为T1的亚组中,药物A的效果优于药物B。

  • 在等级为I的亚组中,药物B的效果显著优于药物A。这种细化的分析结果可以帮助医生根据患者的具体情况选择更合适的药物。

自变量为连续变量的例子

例如,在一项研究中,探讨患者的血糖水平(一个连续变量)对心脏病风险的影响。研究者首先进行总体样本的回归分析,得出血糖水平与心脏病风险之间的关系。然而,考虑到不同性别和年龄段可能影响血糖水平与心脏病风险之间的关系,研究者进一步进行亚组分析。

研究者将样本按性别(男性和女性)和年龄段(如年轻组、中年组和老年组)分为不同亚组,然后分别分析在不同亚组中,血糖水平对心脏病风险的影响。

通过这种分析,研究者可能会发现:

  • 在男性老年组中,血糖水平较高与心脏病风险显著增加相关。

  • 在女性年轻组中,血糖水平与心脏病风险之间没有显著相关性。

这种分析有助于了解在不同性别和年龄段中,血糖水平对心脏病风险的具体影响,从而帮助制定更加个性化的预防和治疗策略。

P值和P for interaction的意义

在亚组分析中,P值和P for interaction是两个重要的统计指标:

  1. P值:在每个亚组内,P值用于检验在该亚组中自变量(如血糖水平)与结果变量(如心脏病风险)之间的关系是否显著。P值越小,说明关系越显著。通常,P值小于0.05被认为有统计学显著性。

  2. P for interaction:P for interaction用于检验不同亚组之间的效果是否有显著差异。它衡量的是连续变量(如血糖水平)与结果变量之间的交互作用。如果P for interaction值小于0.05,说明不同亚组间的效果差异具有统计学显著性,这意味着血糖水平对心脏病风险的影响在不同亚组中有显著差异。

总之,亚组分析通过细化研究对象,揭示了不同特征人群的差异,帮助制定更为精准的治疗策略。P值和P for interaction则为这种差异提供了统计学依据,使研究结果更为可靠和科学。

准备数据

首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):

下载csv样例数据(右击另存为)

打开如下图:

本样例数据的规则:

  1. 一个患者一行(这是准备数据最重要的前提)。

  2. 每个患者准备两大类数据,影响因素变量和结局变量,影响因素和结局分别都可以有多个变量。

    如图所示,hospital, treatment, age, age2, sex, obstruct, prfor, adhear, differ, extent 为影响因素(自变量),而blood, effect, status, time, occurrence在本例中是结局变量。

  3. 影响因素变量有两种,连续性变量(值是连续数据,它可以在变量值所属区间内任意进行取值,如年龄[岁]、血糖值、人的身高、智商等)以及分类变量(是说明事物类别的一个名称,其取值是分类数据。如”性别”就是一个分类变量,其变量值为”男”或”女”;“行业”也是一个分类变量,其变量值可以为”零售业”、“旅游业”、“汽车制造 业”等),在本例中 age是连续性变量(numeric), 其他的是分类变量(factor)。age单位为”岁”时为连续变量,而age2为年龄段分组,这时候为分类变量。

    以上概念很重要,后面有一个页面专门设置连续变量和分类变量。

  4. 结局变量在本工具中分为几类:

  • 连续型结局变量

    如本例中的blood(某血液检测指标)

  • 二分类结局变量

    如本例中的effect(疗效)为二分类变量(Good,Bad)

  • 生存型结局变量

    需要用两个变量组合来表示,如本例中的status和time。

    status代表患者在研究结束时的状态,在本工具中只能取0和1两个数字,不要用字符文本,否则会出错。0 代表没观察到事件发生(如没死或者失访),1 代表观察到了事件发生(如已经死亡且录入了死亡日期)。

    time代表从开始日期(开始日期的定义由你的研究目的决定,如随机对照研究往往取随机化入组的那一天为开始日期,而观察性研究可以取首次诊断日期或首次治疗日期等等根据研究目的而定)到结局日期的时间差。当status=1时,结局日期为发生事件(如死亡)的日期,当status=0时,结局日期为最后一次活着的日期(如研究结束日,或随后一次随访日)。

    总之,time是一个数值型变量,您需要填入患者从开始到死亡或者随后一次随访时,一共活着的天数。如time为56,status为1时代表患者从开始到死亡活了56天;当time为56,status为0时代表患者没观察到死亡,从开始到最后一次随访,活了56天。

    准备数据时,time填入一个非负的整数,status填入0或1,time和status都不能为空,每个患者都必须填入数字。time或status不确定(缺失)时,该患者最好不要放入本数据库。

  • 计数型结局变量

    计数型的结局变量为一个非负的整数,如本例中occurrence,是急性发作次数,无法取负数,也不可能取小数。

  • 分数型结局变量

    当结局变量为一个分数,如发病率、患病率、受精率等,结局包含一个分子和一个分母。如要研究全国各地疾病患病率的影响因素时,按照每个地区一行来准备数据,分子和分母设置成两个变量(列),如分子为患病人数,分母为地区人口数。

    准备数据的规则是:分子和分母都是非负整数,不允许填入负数,也不允许填入小数,分子的数值不能大于分母。

操作步骤

一、选择结局变量的类型

  1. 进入软件后,选择“回归分析”模块。

  2. 在“选择结局变量的类型”部分,根据您的研究需求,选择适合的回归模型:

  • 二分类变量(Logistic回归,例如是否转移,是否客观缓解等)

  • 连续性变量(线性回归,例如生物标志物值等)

  • 生存变量(Cox回归,例如总生存期(OS),无进展生存期(PFS),无病生存期(DFS)等)

二、选择结局变量/应变量

根据您在第一步选择的结局变量类型,进行相应的操作:

  • Logistic回归

  1. 系统会自动筛选数据库中所有的二分类变量。

  2. 在“请选择结局变量/应变量”下拉菜单中,选择您的结局变量。

  • 线性回归

    1. 系统会自动筛选数据库中所有的连续性变量。

    2. 在“请选择结局变量/应变量”下拉菜单中,选择您的结局变量。

  • Cox回归

    1. 系统会自动筛选数据库中所有的连续性变量。

    2. 在“请选择代表时间的变量”下拉菜单中,选择表示时间的变量(如从开始到死亡的时间,或从开始到末次随访时间)。

    3. 系统会自动筛选数据库中所有的二分类变量。

    4. 在“请选择代表患者最终状态的变量”下拉菜单中,选择表示患者最终状态的变量(如1代表发生事件,0代表删失)。

    三、选择结局变量的水平

    • Logistic回归和Cox回归

    1. 系统会自动检测结局变量的所有水平。

    2. 在“请下拉选择结局变量的哪个水平表示发生事件”下拉菜单中,选择表示发生事件的水平(注意:选中的水平在建模时系统会设定为1,剩下的水平会设定为0)。

    四、选择解释变量/自变量

    1. 在“要研究的解释变量/自变量的类型”部分,选择变量类型:

    • 二分类变量

    • 连续性变量

  • 系统会根据您的选择筛选相应的变量。

  • 在“请点击选择要研究的解释变量/自变量”下拉菜单中,选择您的解释变量/自变量。

  • 五、选择参照组和观察/试验组(仅针对二分类解释变量)

    1. 系统会自动检测解释变量的所有水平。

    2. 在“请下拉选择参照组”下拉菜单中,选择参照组。

    3. 在“请下拉选择观察/试验组”下拉菜单中,选择观察/试验组。

    六、选择混杂因素(协变量)

    1. 系统会自动筛选数据库中所有的变量。

    2. 在“请点击选择需要调整的混杂因素(协变量)”下拉菜单中,选择需要调整的混杂因素(协变量),可多选。

    七、对连续变量进行尺度转换或标准化处理

    1. 系统会列出所有连续性变量。

    2. 根据需要,对每个连续性变量选择相应的处理方法:

    • 不做处理

    • 中心化处理(centered)

    • 标准化处理(standardized)

    • 进行Log变换

    八、选择亚组分析字段

    1. 系统会自动筛选数据库中所有的分类变量。

    2. 在“请点击空白框选择代表亚组的字段”下拉菜单中,选择代表亚组的字段,可多选。

    九、生成/更新亚组分析结果

    1. 点击“生成/更新亚组分析结果”按钮,系统会根据您的选择进行亚组分析,并展示结果。

    亚组分析结果:

    生成森林图:


    真实世界数据
    介绍真实世界数据,真实世界研究和真实世界证据
     最新文章