本文介绍了利用 MSTATA 软件,一键完成 NHANES 复杂抽样加权的基线人口学特征表(Table 1)。支持生成一维表(不分组),二维表(分组),三维表(分层+分组),并符合柳叶刀杂志的统计方法和格式标准
软件位于 www.mstata.com 进入软件后选 “复杂抽样加权(NHANES等)” 下拉菜单,选 “基线人口学特征表(Table 1)” 模块。
这是一款智能进行统计分析的工具,用来生成复杂抽样设计(如NHANES等)基线人口学特征表(Table one)。
主要特点:
根据上传的科研数据,设置分层变量strata,主要抽样单位 PSU,权重 weights 后,自动生成基线特征统计表
支持一维表(不分组)、二维表(分组)、三维表(分层+分组)
支持自动和手动指定组间比较的统计方法
采用复杂抽样 survey design 进行均值、中位数计算,进行 Survey t 检验、Survey 秩和检验比较组间 P值
支持人工智能生成描述性文字
生成投稿格式的word统计报告
NHANES 数据库论文的基线表(Table 1),有哪些标准格式?
案例一:柳叶刀子刊
针对 NHANES 等复杂抽样的数据,其基线人口学特征表(Table one)有多种表现形式,既可以用非加权的方式以常规 方法对样本数据直接分析(可到本软件常规描述统计模块做基线表),可也可以使用复杂抽样加权的方式展示。在动手分析 前请下载以下参考文献:
Inoue K, Seeman TE, Nianogo R, Okubo Y. The effect of poverty on the relationship between household education levels and obesity in U.S. children and adolescents: an observational study. Lancet Reg Health Am. 2023. 25: 100565.
这篇 Lancet 子刊虽然 IF 不是最高,但 Table one 比较有代表性:
我们可以看到,这个表首先在最上面的两行表头,分别展示了 Weighted N 和 Unweighted n 的数量,在主表中,连续性 变量的 mean(SD) 或 Median(IQR) 均为加权后的值,而分类变量不用 n(%)表示,仅用 % 表示,这个百分比,是加权 之后的百分比。这是一种常见的表示方式。这个表不做组间的比较,不给出 P 值。
案例二:营养学期刊
另外如果分类变量想用 n(%) 表示,其中的 n 可以用加权后的 n, 也可以用未加权的 n,这个可以在左侧面板进行选择。参考文献见:
Liu F, You F, Yang L, et al. Nonlinear relationship between oxidative balance score and hyperuricemia: analyses of NHANES 2007-2018. Nutr J. 2024. 23(1): 48.
这里同样表头展示 Weighted N 和 Unweighted n 的数量,而分类变量用了 unweighted n (%),这里要注意 n 用了未加权的 n,但 % 是用了加权的百分比,n 和 % 并不匹配(这并不是作者出错),这也是常见的做法。组间比较 P 值, 连续性变量用 Wilcoxon rank-sum test for complex survey samples; 分类变量用 chi-squared test with Rao & Scott’s second-order correction,和本软件默认的统计方法相同,当然 您也可以手动改成 t test for complex survey sample。
如果是 NHANES 数据库,加权后的 N 代表美国人口,如果不是亚组分析而是全集分析,不 剔除缺失值时,总样本量 N 加起来约为 3.1-3.3 亿左右,如果根据 NHANES 的说明书,对权重进行了 减少,则样本量 N 可能会低于美国人口数,这都是正常的。
如何一键生成上述表格?
在研究中,我们通常感兴趣的是量化某些群体特征,例如某种病症的患病率、某一测量值的平均值,或暴露与疾病之间的关联性。通常,我们会在总体中抽取一个样本,并利用样本中的信息对总体特征进行推断。样本单位可以是个人、社区、医院、县甚至国家。
简单随机抽样
简单随机抽样是一种最基础的抽样方法,其特点是总体中每个单位被选中的概率相等。这种方法的优点是计算简单,分析方便,且能够保证样本统计量是总体参数的无偏估计。
例子:假设我们要研究一个城市中居民的平均收入。我们可以将这个城市的所有居民列成一个清单,然后随机选取其中的100人进行调查。每个居民被选中的概率都是相同的。在这种设计下,样本均值、样本方差等统计量都是总体参数的无偏估计,可以直接用来推断总体。
复杂抽样设计
许多调查使用复杂抽样设计而非简单随机抽样。这有多种原因。例如,如果构建列出总体中每个单位的抽样框架很困难或可能导致错误,可以使用多阶段抽样,先抽取较大且易于列出的单位群体,然后在每个群体内调查某些或全部单位,这样可以在现场构建准确的抽样框架。在多阶段抽样中,首先抽取主抽样单位(PSU)(例如,家庭),然后在每个PSU内抽取单位(例如,家庭中的个体)。当然,可以有超过两个阶段的抽样。早期阶段的单位形成簇。
另一个使用复杂抽样设计的原因是简单随机样本可能会导致某些感兴趣的子群体样本量过小。例如,如果关注种族/民族特定的平均血压,研究人员可能希望增加较小子群体的样本量。简单随机样本可能会导致多数种族/民族的样本量较大,而少数群体的样本量较小。与其增加总体样本量以确保较小群体的足够样本量,不如使用不等概率抽样对大群体进行欠抽样,对小群体进行过抽样,这样更具成本效益。
一种不等概率抽样的方法是在一些多阶段抽样设计中按比例概率抽样(PPS),其中较大的PSU有更大的被选中概率。另一种是分层随机抽样,即首先将总体非随机地分成若干层(例如,地理区域),然后在每层内进行简单随机抽样。将总体分层成不等大小的层,然后在每层内进行简单随机抽样,会导致不等概率抽样,因为较小层中的个体有更大的被选中概率。
NHANES
国家健康与营养检查调查(NHANES)是一个具有复杂设计的调查的例子。
NHANES样本不是简单随机样本,而是使用复杂的多阶段概率抽样设计来选择参与者,以代表美国民间非机构化人口。还对某些人口子群体进行过度抽样,以提高这些特定子群体健康状况指标估计的可靠性和精确性。研究人员需要在分析中适当指定抽样设计参数。
简而言之,NHANES采用了分层四阶段抽样设计。首先,根据人口普查区域和其他地理信息构建分层(非随机)。在每个分层内,随机选取美国县(PSU),较大的县有更大的被选中概率。在县内,按比例选取街区。在街区内,随机选取家庭,并对某些年龄、种族和收入群体进行过度抽样(较高的选中概率)。最后,在家庭内随机选取个体。有关NHANES复杂抽样设计的完整描述,请参见官方NHANES教程。
NHANES网站提供了使用survey软件包分析NHANES数据的示例R代码,以及在分析NHANES数据时的一些特殊考虑。
准备数据
NHANES数据的下载地址在 https://wwwn.cdc.gov/nchs/nhanes/
这里我们可以点击下方下载一段样例数据片段来做测试:
下载csv样例数据(右击另存为)
在本说明书中,我们使用了2017周期的NHANES数据,因此以下信息来自该周期。数据集中包含以下变量以考虑抽样设计:
分层变量(SDMVSTRA):共有15个分层。
主要抽样单位(SDMVPSU)
访谈抽样权重(WTINT2YR)
检查抽样权重(WTMEC2YR)
空腹子样本抽样权重(WTSAF2YR):
在使用NHANES数据时,请务必查阅相关数据文档和代码手册,以确保使用适当的抽样权重。
复杂抽样设计的基线表 Table 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,通过嵌套设置可以确保分析的准确性。
3. 完成设置
完成以上设置后,您的数据就准备好进行复杂抽样加权和回归分析了。请确保所有步骤都已正确完成,以确保分析结果的准确性。
参考资料
NHANES官网:提供关于分层、PSU和权重变量的详细说明。
NHANES教程:提供关于权重选择和多周期数据合并的详细指南。
重要提示
在使用本软件进行分析时,务必遵循NHANES提供的指导原则和说明,以确保结果的准确性和科学性。特别是对于权重变量的选择和处理,请仔细阅读相关文档和说明书。
绘制基线表
第一步:选择分组方式
进入“Table 1 设置”页面。
选择是否进行分组统计:
整体人群单组描述(一维表)
分组分析描述(二维表)
分层+分组分析描述(三维表) 默认选择为“分组分析描述(二维表)”。
第二步:选择分层变量(仅适用于三维表)
如果选择了三维表,会提示选择一个分层变量。
如果数据库中没有可用的分类变量,将显示提示信息。
在下拉菜单中选择一个分类变量作为分层变量。
第三步:选择组别变量
选择分组分析描述(二维表)或分层+分组分析描述(三维表)后,会提示选择一个组别变量。
如果数据库中没有可用的分类变量,将显示提示信息。
在下拉菜单中选择一个分类变量作为组别变量。
第四步:选择统计变量
根据选择的分组方式,选择需要统计的变量。
数值型变量和分类变量都可以选择。
选择变量后,可以通过拖拽进行排序。
第五步:选择数值型变量的处理方式
选择数值型变量是否转换成分类变量。
可以选择“将取值范围较少的数值型变量自动转换为分类变量”。
如果选择转换,设置“水平数小于多少视为分类变量”。
第六步:选择连续性变量转换方式
可以选择将连续性变量根据分位数转换成低、中、高等分的分类变量。
选择需要转换的连续性变量。
设置要等分为几组。
可选择是否显示每个分组的切点界值。
第七步:选择统计方法
选择连续性变量描述及组间比较的统计方法:
均值(标准差)统计,用 survey t test 检验
中位数(IQR)统计,用 survey Wilcoxon rank-sum test 检验
均值(标准差)、中位数(IQR)(最小值,最大值)统计,用 survey t test 检验
均值(标准差)、中位数(IQR)(最小值,最大值)统计,用 Wilcoxon rank-sum test 检验
自己选择每个变量用的统计学方法
第八步:选择统计方法标注方式
标注连续性变量统计方法的方式(例如均值±标准差还是中位数):
在表格下方统一底注
对每个字段分别标注
分类变量的 n(%) 显示方式:
不显示 n
显示加权后的 N
显示未加权的 n
第九步:其他设置
选择统计表语言(推荐英文)。
选择统计表外观(舒展型或紧凑型)。
是否显示“p 值”列。
选择如何显示每个变量用什么统计方法计算的 P 值:
统一标注
逐一拆分标注(仅二维表有效)
是否显示统计量(例如 t 值、F 值、χ2 值等),并设置小数位数。
第十步:设置小数位数
设置连续性变量均值、中位数、标准差保留的小数位数。
设置百分比的小数位数。
设置P值的小数位数。
第十一步:生成基线表
确认所有选择和设置无误后,点击“生成/更新基线表”按钮。