一键完成 Landmark 生存曲线(复杂抽样加权,NHANES数据库)的绘制

文摘   科学   2024-09-17 10:22   上海  


本文介绍了利用 MSTATA 软件,一键完成复杂抽样加权(NHANES 等数据库)Landmark 生存曲线的绘制。


NHANES 等数据库,因为使用了复杂抽样设计,因此在进行生存分析和绘制生存曲线时,需要 R 软件 survey 包 svykm ,平时使用的生存曲线绘制工具派不上用场。

而 Landmark 生存曲线直接用svykm 包绘制,步骤又非常繁琐。

因此我们需要更加傻瓜的工具来完成 复杂抽样加权 + Landmark 分段生存曲线的组合,免编程,鼠标一键完成。

软件在 www.mstata.com 进入后选择“复杂抽样加权(NHANES等)” 数据库专用分析菜单下面的“复杂抽样加权 Landmark 生存曲线” 模块进行。


Landmark 生存曲线(复杂抽样加权)

一键完成复杂抽样加权(NHANES 等)Landmark 生存曲线的绘制:

Landmark 生存曲线简介

Landmark 生存曲线 是生存分析中的一种特殊方法,用于比较不同组别的生存曲线。它的关键特征是在指定的时间点(称为 Landmark 时间点)后,进行数据截断,只分析此时间点之后的生存数据。这样做的目的是避免在某个时间点之前由于治疗效果、患者特征等带来的潜在偏倚,从而更公平地比较不同组别的生存情况。

应用场景

Landmark 生存曲线常用于一些需要比较两组患者在治疗后期(或某个特定时间点之后)的生存情况。例如,当研究某种癌症疗法时,早期治疗阶段的生存率可能受患者的初始健康状况、治疗反应等因素影响,这可能会掩盖真正的长期疗效。此时,Landmark 生存曲线可以帮助研究者在一个预设的时间点之后,仅关注在此时间点仍然存活的患者,从而减少早期因素的干扰。

复杂抽样设计

许多调查使用复杂抽样设计而非简单随机抽样。这有多种原因。例如,如果构建列出总体中每个单位的抽样框架很困难或可能导致错误,可以使用多阶段抽样,先抽取较大且易于列出的单位群体,然后在每个群体内调查某些或全部单位,这样可以在现场构建准确的抽样框架。在多阶段抽样中,首先抽取主抽样单位(PSU)(例如,家庭),然后在每个PSU内抽取单位(例如,家庭中的个体)。当然,可以有超过两个阶段的抽样。早期阶段的单位形成簇。

另一个使用复杂抽样设计的原因是简单随机样本可能会导致某些感兴趣的子群体样本量过小。例如,如果关注种族/民族特定的平均血压,研究人员可能希望增加较小子群体的样本量。简单随机样本可能会导致多数种族/民族的样本量较大,而少数群体的样本量较小。与其增加总体样本量以确保较小群体的足够样本量,不如使用不等概率抽样对大群体进行欠抽样,对小群体进行过抽样,这样更具成本效益。

一种不等概率抽样的方法是在一些多阶段抽样设计中按比例概率抽样(PPS),其中较大的PSU有更大的被选中概率。另一种是分层随机抽样,即首先将总体非随机地分成若干层(例如,地理区域),然后在每层内进行简单随机抽样。将总体分层成不等大小的层,然后在每层内进行简单随机抽样,会导致不等概率抽样,因为较小层中的个体有更大的被选中概率。

NHANES

国家健康与营养检查调查(NHANES)是一个具有复杂设计的调查的例子。

NHANES样本不是简单随机样本,而是使用复杂的多阶段概率抽样设计来选择参与者,以代表美国民间非机构化人口。还对某些人口子群体进行过度抽样,以提高这些特定子群体健康状况指标估计的可靠性和精确性。研究人员需要在分析中适当指定抽样设计参数。

简而言之,NHANES采用了分层四阶段抽样设计。首先,根据人口普查区域和其他地理信息构建分层(非随机)。在每个分层内,随机选取美国县(PSU),较大的县有更大的被选中概率。在县内,按比例选取街区。在街区内,随机选取家庭,并对某些年龄、种族和收入群体进行过度抽样(较高的选中概率)。最后,在家庭内随机选取个体。有关NHANES复杂抽样设计的完整描述,请参见官方NHANES教程。

NHANES网站提供了使用survey软件包分析NHANES数据的示例R代码,以及在分析NHANES数据时的一些特殊考虑。

准备数据

NHANES数据的下载地址在 https://wwwn.cdc.gov/nchs/nhanes/

这里我们可以点击下方下载一段样例数据片段来做测试:

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

数据集中包含以下变量以考虑抽样设计:

  • 分层变量(SDMVSTRA):

  • 主要抽样单位(SDMVPSU)

  • 访谈抽样权重(WTINT2YR)

  • 检查抽样权重(WTMEC2YR)

  • 空腹子样本抽样权重(WTSAF2YR):

本例中做生存曲线的相关变量:

asthma:0和1,0 表示该随访对象随访结束时没有罹患哮喘;1 表示该调查对象随访结束时罹患哮喘

asthma_year:该随访对象从出生后经历多少年发展为哮喘(没有哮喘则填随访结束时的年龄)

在使用NHANES数据时,请务必查阅相关数据文档和代码手册,以确保使用适当的抽样权重。

使用方法

进入软件界面,首先进行如下设置:

设置复杂抽样参数

请按照以下步骤设置您的复杂抽样参数:

  1. 选择分层变量

  • 在设置界面中,找到“请选择代表分层(strata)的变量”选项。

  • 从下拉菜单中选择一个变量,该变量代表数据中的分层信息。例如,在NHANES数据库中,这个变量通常是SDMVSTRA。

  • 背景知识:分层抽样(Stratified Sampling)是一种将总体分为若干个互不重叠的层,然后在每个层内进行随机抽样的方法。这种方法可以提高估计的精确性,特别是在总体内部具有较大异质性的情况下。例如,在NHANES中,不同地理区域(如不同的州或县)可能存在健康状况的差异,通过分层抽样可以确保每个区域的代表性。

  • 如果您的数据不需要分层,请选择“无”。

  • 选择主抽样单位(PSU)变量

    • 选择完分层变量后,系统会自动弹出“请选择代表主抽样单位(id)的变量”选项。

    • 从下拉菜单中选择一个变量,该变量代表数据中的主抽样单位(PSU)。例如,在NHANES数据库中,这个变量通常是SDMVPSU。

    • 背景知识:主抽样单位(Primary Sampling Unit, PSU)是多阶段抽样中的第一层单位。在NHANES中,PSU通常是县或县级等价单位。在每个PSU内,再进一步抽取次级单位(如家庭或个人)。这种方法可以减少调查成本,提高抽样效率。

    • 确保所选变量不同于分层变量。

  • 选择权重变量

    • 访谈权重(WTINT2YR):如果您的分析仅使用在访谈中收集的数据,则选择此权重。每个参与者都接受了访谈,因此每个人的访谈抽样权重都大于0。

    • 检查权重(WTMEC2YR):如果您的分析包含体检数据,则应选择此权重。大多数参与者在移动检查中心(MEC)接受了体检,收集了客观测量数据。

    • 空腹子样本权重(WTSAF2YR):如果您的分析包含空腹血液测量数据,则应选择此权重。只有部分参与者在空腹状态下提供了血液样本,因此需要使用相应的权重进行调整。

    • 选择完PSU变量后,系统会自动弹出“请选择代表权重(weights)的变量”选项。

    • 从下拉菜单中选择一个权重变量。权重变量有助于确保样本的代表性。在NHANES数据库中,常见的权重变量有WTINT2YR、WTMEC2YR等。

    • 背景知识:权重(Weights)是用于调整样本统计量以反映总体参数的因子。在复杂抽样设计中,由于不同单位被抽中的概率不同,直接使用样本统计量可能会产生偏差。权重的作用是校正这种偏差,使估计值更接近于总体参数。例如,在NHANES中,不同个体的被抽中概率不同,通过使用合适的权重,可以确保结果具有全国代表性。

    • 选择权重的指南(简化版,仅做示例)

    • 注意:选择权重变量非常复杂,以上只是一个简要规则,实际规则比这个复杂,请务必登录和参考NHANES官网的说明书,对于选择哪个权重有详细的规则说明,以确保选择适当的权重。

  • 处理权重缺失值

    • 将权重缺失值用0填充

    • 将权重缺失的数据整行删除

    • 将权重缺失以及权重≤0的数据整行删除(Cox回归请勾选此项)

    • 在权重变量选择下方,您需要选择如何处理权重变量中的缺失值。

    • 选项包括:

    • 背景知识:在调查数据中,权重缺失值可能会影响分析结果的准确性。不同处理方法可以应对不同的分析需求和数据质量问题。例如,将缺失值填充为0可以保留数据行,但可能导致偏差;而删除权重缺失的数据则可以提高结果的准确性,但会减少样本量。

  • 设置嵌套集群标识(Nest)

    • 选择是否应用嵌套集群标识。如果您的数据集的ID值在分层中是嵌套的(如NHANES数据库),推荐选择“是”。

    • 选择“是”可以确保在每个分层内,集群ID是唯一的,避免分析时出现问题。

    • 背景知识:嵌套集群(Nested Clusters)是指在复杂抽样设计中,主抽样单位ID在不同分层内可能重复。通过设置嵌套集群标识,可以确保每个分层内的集群ID是唯一的,从而避免在数据分析时出现混淆和错误。例如,在NHANES中,不同地理区域可能有相同的PSU ID,通过嵌套设置可以确保分析的准确性。

    6. 分组生存曲线

    用户可以选择生成:

    • 总体生存曲线:不区分组别的生存曲线。

    • 分组生存曲线:按不同组别比较生存曲线。

    当选择“分组生存曲线”时,需进一步选择代表分组的变量(如治疗组)。

    7. 时间和状态变量的选择

    • 时间变量:选择代表时间的变量,通常是从起始到事件(如死亡)发生的时间或末次随访时间。

    • 状态变量:选择代表最终状态的变量(如 1 代表死亡,0 代表存活)。

    8. 生存曲线生成

    在所有变量选择完毕后,用户可以点击“生成/更新生存曲线”按钮,系统将根据设定绘制加权生存曲线。

    点击后生成生存曲线。然后在右侧面板进行图像外观调整:

    图像外观调整

    在生成生存曲线图后,用户可以通过右侧的面板对图像进行详细的调整。面板中的选项被分为多个部分,每个部分都包含特定的图像调整功能。选项放置在可折叠的菜单选项框内,您可以通过点击右侧的 + 号来展开选项,点击 - 号收起选项。

    以下是最新的调整选项及其说明。

    1. 生存曲线类型和 Landmark 截断设置

    位置:生存曲线类型设置

    • 选择生存曲线的类型

      • 传统下降 KM 曲线:纵坐标显示生存率,曲线下降(常用于总体生存率或无进展生存率等)。

      • 上升曲线:纵坐标为累计事件发生率,曲线随时间上升(常用于事件发生率等)。

    • Landmark 截断值:在生成 Landmark 曲线时,您可以输入一个横坐标截断值,默认值为随访时间的 50%。此值用于 Landmark 分析,在特定时间点后对生存曲线进行截断,以便更清晰地比较不同组别的生存情况。

    2. 图像尺寸和边距调整

    位置图像长宽大小和两侧空白尺寸调整 菜单选项框

    • 设置图像宽度:通过滑块调整图像的宽度,范围从 100 到 2000。

    • 设置图像高度:根据分组数量默认设定高度,您可以根据需要手动调整。

    • 设置左侧空白宽度:调整左侧的空白区域,避免文字或坐标轴标签被遮挡。

    • 设置右侧空白宽度:调整右侧空白,防止图例或其他元素被遮挡。

    3. 曲线外观、线条和配色调整

    位置曲线外观、线条和配色调整 菜单选项框

    • 生存曲线外观风格

      • 经典色不带背景网格:经典配色,不显示网格线。

      • 黄绿 JAMA 风格:采用类似 JAMA 期刊的黄绿色配色,并带有网格线。

    • 曲线配色风格:提供三种彩色搭配方案(Set1、Set2、Set3),以及黑白配色可选。

    • 线条风格

      • 仅用实线颜色区分:所有线条为实线,通过颜色区分。

      • 用不同线型区分:通过实线、虚线等样式区分不同的线条。

    • 线条粗细:通过滑块调整曲线的线条粗细,范围为 0.1 到 5。

    4. 横纵坐标刻度和范围调整

    位置横纵坐标上下限、刻度值调整 菜单选项框

    • 系统自动设定:让系统自动根据数据设置刻度和坐标范围。

    • 手动设定:您可以手动设定横纵坐标的刻度和范围:

      • 横坐标刻度下限和上限:手动输入时间轴的最小值和最大值,最大值不能超过随访时间。

      • 横坐标刻度间隔:设定时间轴上每个刻度的长度值,调节刻度的密集程度。

      • 纵坐标上下限:调整纵坐标轴的上下限,通常设为 0 到 1 之间。

    5. 坐标轴标题和字体调整

    位置修改坐标轴的标题文字和大小 菜单选项框

    • 坐标轴刻度文字大小:调整横纵坐标轴刻度的文字大小,范围从 1 到 50。

    • 坐标轴标题文字大小:调整坐标轴标题的字体大小。

    • 横坐标标题:默认显示为 Time (单位),您可以手动修改。

    • 纵坐标标题:根据曲线类型,默认显示为 Survival Probability 或 Cumulative Events,可根据需要修改。

    • 纵坐标刻度单位

      • 用小数表示:如 0.5, 0.6。

      • 用百分比表示:如 50%, 60%。

    6. Log-rank P 值显示和调整

    位置log-rank P 值位置和字体调整 菜单选项框

    • 是否显示 Log-rank P 值:选择是否在图中显示 Log-rank 检验的 P 值。

    • P 值位置和字体调整

      • 横向位置:通过滑块调整 P 值在图中的横向位置。

      • 纵向位置:调整 P 值在图中的纵向位置。

      • P 值字体大小:设置 P 值的字体大小。

      • P 值后加上 Log-rank 标识:选择是否在 P 值后面添加 “(Log-rank)” 标识。

    7. 风险人数表显示和调整

    位置风险人数表格高度和字体调整 菜单选项框

    • 是否显示风险人数表:选择是否在生存曲线下方显示风险人数表,表格显示每个时间点仍处于风险中的人数。

    • 风险人数表高度:调整风险人数表的高度。

    • 风险人数表标题:修改风险人数表的标题,默认值为 “Number at risk”。

    • 风险人数表数字字体大小:调整表中数字的字体大小。

    • 风险人数表标题字体大小:调整标题的字体大小。

    8. 重置功能

    位置:底部

    • 重置按钮:点击 重置并恢复到起始默认选项 按钮,将所有设置恢复到初始默认状态。

    通过这些调整选项,您可以根据需要对生存曲线图进行高度定制,确保结果展示符合分析需求并具有良好的视觉效果。




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