四社区中年人的血管账本 — ARIC 队列研究

基线 1.58 万人 / 四轮中年检查 + 五轮老年回访 / 随访 35 年+

来源 https://aric.cscc.unc.edu/aric9/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 12
四社区中年人的血管账本 — ARIC 队列研究

信息速览

数据集名称四社区中年人的血管账本 — ARIC 队列研究
数据类型元数据,多组学,文献引用
规模15,792(1987–1989 基线入组)
接入方式https://aric.cscc.unc.edu/aric9/
AI 就绪度

ARIC(Atherosclerosis Risk in Communities Study,社区动脉粥样硬化风险研究)是美国国家心肺血液研究所资助的四个经典人群队列之一,1987 至 1989 年在四个社区招募四十五至六十四岁的黑人与白人成人,基线入组一万五千七百九十二人,此后以每年两次电话联系、约每三年一轮现场检查的方式随访至今。它最初问的是「什么让动脉在中年就开始变厚」,随着参与者进入七八十岁,问题转向「中年的血管和代谢状态,如何决定晚年的心脏与大脑」。

它由两个部分拼成:一是个体层面的队列,同一批人反复测量;二是社区层面的监测,1987 至 2014 年间把四个地区四十万余名三十五至八十四岁居民的冠心病住院与死亡逐例登记判定。前者回答「 exposures 与结局在个体身上如何相连」,后者回答「这个社区的病到底有多少」。两条腿走路的设计,让它在心血管流行病学里既有深度也有分母。

数据侧的边界很清楚:问卷、体检、血脂与凝血、心电图、颈动脉超声、超声心动图、脑影像、基因组与多组学都在同一套 participant ID 下,但发放要走 BioLINCC 申请并签署禁止商业用途的协议,基因组部分另需 dbGaP 授权。一屏速览见下表。

维度 内容
全称 Atherosclerosis Risk in Communities Study
中文名 社区动脉粥样硬化风险研究
资助方 美国 NHLBI(合同号 75N92022D00001 至 00005)
协调中心 北卡罗来纳大学教堂山分校协作研究中心(CSCC)
基线年份 1987–1989(第 1 轮)
基线入组 15,792 人
入组年龄 45–64 岁(NHLBI 页面写作 45–65 岁,两口径并存)
现场中心 马里兰华盛顿县、北卡福赛斯县、密西西比杰克逊、明尼阿波利斯西北郊区
种族构成 黑人与白人;杰克逊现场为全黑人样本
随访轮次 现场检查第 1–9 轮,BioLINCC 称已放出第 1–10 轮
随访时长 三十五年以上,资助至 2028 年
核心结局 冠心病、卒中、心力衰竭、痴呆与认知下降、全因死亡
数据形态 SAS 数据集 + 变量字典 PDF + 事件判定表
获取门槛 BioLINCC 申请 + 数据使用协议;基因组走 dbGaP
商业使用 明确禁止

§1 它要解决的具体麻烦

1.1 你要的是「同一个人前后二十年」,不是「今年的一万人」

绝大多数公开医学数据集是横截面的:一次检查、一份病历、一张片子。做风险预测时,这类数据只能告诉你「指标异常的人现在病得更重」,不能告诉你「指标异常在先,还是疾病在先」。要回答因果方向,必须在同一个人的身上至少量两次,中间隔着足够长的年头,让结局来得及发生。

ARIC 就是为这件事设计的。它在 1987 年把一批四十五到六十四岁、当时大多没有临床心血管病的人拉进现场,量完血压、血脂、血糖、颈动脉,然后放回去,此后每两年打一次电话、每三年左右拉回来再量一次,一直量到今天。同一个人从五十岁量到八十五岁,中间发生了什么,是被记录下来的,而不是被回忆出来的。

这个设计的时间跨度不是副产品,而是它唯一不可替代的资产。任何想研究「中年风险因素 → 晚年结局」的课题,都会撞上同一个瓶颈:没有哪个新采集的队列愿意等三十年。ARIC 的价值就在于那三十年已经过去了。

1.2 三条常见的错误期待

第一条,期待它像 NHANES 那样代表全美。不是。ARIC 是四个社区、便利抽样、只收黑人与白人,设计目标是内部可比而非外部推断。用它的患病率去估计全国患病率,会系统性偏离。

第二条,期待它是「一个大表」。不是。它是按轮次、按模块拆开的上千个 SAS 数据集,变量名是 bmi1、ldl1、hdl1 这类轮次后缀风格,事件另存一表。拿到压缩包后第一件事不是建模,是读变量字典、写对齐脚本。

第三条,期待「随访三十年 = 三十年连续观测」。不是。第 4 轮(1996–1998)到第 5 轮(2011–2013)之间,现场检查停了十余年,那一段只有电话随访和事件监测。恰恰是参与者从五十多岁走到六十多岁、心血管风险开始兑现的十年,中间是空的。

这三条错误期待有一个共同的根源:把「队列」当成一个静态的数据包。队列其实是一台还在运转的机器,它的产出随时间的推移在变,早期以中年测量为主,晚期以老年结局为主,中间还有一段只有电话没有体检的低谷。任何一次分析,都是在这台机器的某个切面上取样。理解切面在哪里,比记住总人数重要得多。

还有一条隐含的期待值得单独说:期待它「干净」。ARIC 的质控做得确实好,中心实验室、中心读片、委员会判定三层把关,但「干净」不等于「整齐」。跨轮次的检测方法换过,问卷措辞改过,认知量表换过,变量命名也跟着变。真正花时间的不是建模,而是把这些不一致逐条查清楚、写进方法学部分。做过一次的人都知道,这篇论文里最费劲的往往是附录而不是正文。

1.3 它能给到的与给不到的

你的需求 它给的 够不够
中年指标预测十年后冠心病 四十岁末入组,事件判定到 2023 年 够,且是本队列的看家本领
中年指标预测晚年痴呆 第 5 轮起系统认知测验,第 6、7 轮复测 够,但起点在七十岁
颈动脉粥样硬化的连续变化 第 1、2、3、4 轮颈动脉超声 够,中年段完整
心功能与心衰的机制研究 第 5 轮起超声心动图六千余人 够,但只有老年截面
脑结构与脑功能的影像 脑 MRI 与 PET 分批子样本 部分够,样本量小
全国患病率估计 四社区便利样本 不够,换 NHANES
亚裔、拉丁裔人群结论 只收黑人与白人 不够,换 MESA 或 NHANES
儿童青少年的风险起点 基线即中年 不够,换 CARDIA 或 ABCD

1.4 你的处境与它能帮到的事

你的处境 它能帮你什么 下一步该做什么
手上有新标志物,想验证它是否预测十年心血管事件 提供已判定的事件与足够长的随访窗 先申请人级表型,再按批次申请剩余血样
做心衰分型,缺「无事件人群」作对照 大队列里绝大多数人终身无心衰,可作分母 用第 5 轮超声心动图筛结构异常
研究认知下降,需要中年起点 中年认知测验只在中段补做,需核对量表 先查认知模块的轮次覆盖,再定分析窗口
做基因组关联,缺大样本长期表型 全队列有基因型,事件随访三十余年 走 dbGaP,注意与 BioLINCC 表型版本对齐
做政策研究,想知道某地心梗发生率 社区监测臂覆盖四十余万人 用监测臂数据,不要用队列人数
只有三个月,要交一个能跑的模型 数据申请本身就可能超过三个月 先用公开教学子集或模拟数据结构

1.5 一句话判断

如果你的问题需要「同一个人、中年测、晚年病」,ARIC 是全世界少数几个能直接给你这张表的地方;如果你的问题只需要「一批人的当下状态」,它因为申请门槛和结构复杂度,性价比低于任何一个开放数据集。

1.6 不适合谁:四条边界

不适合要全国代表性的人。 四个社区不是随机抽的,是为了比较「同一套方案在不同人群里的表现」而选的。任何以「美国成人中患病率为 X%」开头的结论,都不该由它来支撑。

不适合要即刻上手的人。 从提交申请到拿到数据,中间有伦理审查、数据使用协议签署、变量清单确认几道关,周期以月计。急着跑 baseline 的项目应该在开放数据上先做。

不适合做商业产品的人。 BioLINCC 的协议写得很直白:数据不得用于商业目的。企业研究者要么走学术合作,要么另寻数据源。

不适合只关心某一个器官的人。 ARIC 的测量是按「心血管系统 + 大脑」这条主线组织的,皮肤、眼科、口腔、骨科的内容很少。想要专科深度,应该去专科队列。

§2 数据构成与规格

2.1 两级结构:队列与监测不是一回事

打开 ARIC 的数据说明,最先要分清的是两个词。Cohort 指那一万五千多名签了知情同意、被反复检查的个体;Surveillance 指四个地理区域内所有居民的冠心病住院与死亡登记,覆盖四十万余人,没有个体同意,也不做随访检查。

两者的数据形状完全不同。队列数据是「人 × 轮次」的长表,监测数据是「事件」的表,字段是病历摘要编码、心电图判读、死亡证明编码。把两者混用,是最常见的结构性错误:拿监测臂的四十万人去算随访率,或者拿队列人数去算社区发病率,都会得到荒谬的结果。

监测臂的时间范围也有边界:1987 至 2014 年做冠心病事件,2005 至 2014 年额外做了五十五岁以上居民的心衰住院。2014 年之后,监测臂基本收束,队列臂继续。

2.2 字段与模块的完整字典

ARIC 的变量以模块组织,每个模块在每轮检查里各有一套变量。下表按模块列出内容与覆盖轮次,可作为申请时的清单底稿。

模块 主要内容 覆盖轮次 备注
人口学 出生日期、性别、种族、教育、职业、婚姻 全轮次 教育在第 1 轮,职业史另表
问卷 吸烟、饮酒、体力活动、饮食、家族史 全轮次 饮食有专门的食物频率问卷
用药 处方药与非处方药清单、适应证 全轮次 逐字记录后编码,需按版本字典映射
体格测量 身高、体重、腰围、臀围、皮褶 全轮次 第 5 轮起加握力与步速
血压 坐位三次、卧位、立位 全轮次 取均值前需剔除异常读数
心电图 12 导联,明尼苏达编码 第 1–4 轮、第 5 轮部分 中心化判读
血脂 总胆固醇、LDL-C、HDL-C、甘油三酯 全轮次 中心实验室,方法学有跨轮次变更
凝血与炎症 纤维蛋白原、因子 VII、vWF、白细胞 第 1–4 轮 早期特色模块
生化 血糖、肌酐、尿酸、电解质 全轮次 肾功能相关变量可算 eGFR
颈动脉超声 内中膜厚度、斑块、狭窄 第 1–4 轮 读片中心统一,含重复读片质控
超声心动图 二维、多普勒、组织多普勒、斑点追踪 第 5 轮、第 7 轮 第 5 轮约六千人
脑影像 脑 MRI、脑 PET、白质高信号 第 3、5 轮及后续子样本 分批,样本量千级
认知 词语记忆、语义流畅、数字符号、整体认知 第 2、4、5、6、7、9 轮 量表有更换,需等值化
听力学 纯音测听 第 6 轮起 与认知研究配套
基因组 GWAS 芯片、外显子芯片、全基因组测序子集 一次性平台数据 走 dbGaP
组学 蛋白组、代谢组、甲基化、微生物组 子样本 各自有独立申请入口
事件 冠心病、卒中、心衰、死亡、痴呆 全周期 附判定依据与日期
地理与社会 街区社会经济、建成环境、隔离指数 全周期 按地址地理编码,非原始地址

2.3 一条记录的完整解剖

ARIC 的原始发放形态是 SAS 传输格式(.sas7bdat 或 .xpt),一个模块一个文件。下面这段代码演示拿到文件后的第一步:把某轮检查的人级表读进来、确认主键、把轮次后缀变量改成语义名。

#-- 读取一轮检查表并整理列名,ARIC 的变量名普遍带轮次数字后缀
import pandas as pd

PATH = "aric/visit5/v5_demographics.sas7bdat"
df = pd.read_sas(PATH, format="sas7bdat", encoding="latin-1")

#-- 主键是参与者编号(aid 或 id),确认唯一性后再合并
assert df["aid"].is_unique, "主键重复,先查是否混入了多中心导出"

#-- 把 bmi5 / sbp5 / dbp5 这类后缀变量改成不带轮次的语义名
rename = {c: c[:-1] for c in df.columns if c[-1].isdigit() and c[:-1].isalnum()}
df = df.rename(columns=rename)

#-- 只保留分析要用的列,避免把上千列带进内存
keep = ["aid", "age", "sex", "race", "bmi", "sbp", "dbp", "visit_date"]
df = df[[c for c in keep if c in df.columns]]
print(df.shape, df["aid"].head(3).tolist())

这段代码背后有三个必须知道的约定。第一,参与者编号在不同模块里可能叫 aid、id 或 participant_id,合并前必须统一。第二,缺失值不是空白而是特殊编码(如 .、9、99),官方字典会写明每个变量的缺失码,不查字典直接 dropna 会丢掉大量有效样本。第三,日期在 SAS 里是 1960 年起的日数,读进来要转成日期类型,否则算事件时间会全错。

2.4 检查轮次与到场人数

官方时间线给出的每轮到检人数,是判断「某一轮能不能支撑你的分析」的第一道尺子。人数是逐轮衰减的,越晚的轮次越偏向健康幸存者。

轮次 年份 到场人数 该轮新增的主要内容
第 1 轮 1987–1989 15,792 基线全套:问卷、体检、血脂、凝血、心电图、颈动脉超声
第 2 轮 1990–1992 14,348 复测同上,加认知初测
第 3 轮 1993–1995 12,887 复测,加脑 MRI 子样本
第 4 轮 1996–1998 11,656 复测,颈动脉超声末次全量
第 5 轮 2011–2013 6,538 超声心动图、脑 MRI、认知全套、视网膜照相
第 6 轮 2016–2017 4,214 认知复测、听力学、步速与握力
第 7 轮 2018–2019 3,589 认知复测、超声心动图复测
第 8 轮 2020 3,226 疫情期间的简化检查
第 9 轮 2021–2022 2,105 认知与功能评估为主

这张表最重要的一列不是人数,而是「新增内容」。想做心衰,只有第 5 轮之后有超声心动图;想做颈动脉硬化进展,只有第 1 至第 4 轮有连续测量;想做认知轨迹,第 2 轮有个起点,但真正系统的测验从第 5 轮才开始。选轮次就是选问题,反过来也成立。

把这张表和自己的问题对上,通常会经历三次修正。第一次是发现想要的变量只在某一轮有,样本量从一万五掉到六千;第二次是发现这一轮的检查与上一轮隔了太久,纵向分析只能做两点的差值;第三次是发现这一轮的人群已经是幸存者,任何「老年人中 X 的比例」都要加一句限定。

这三次修正不是障碍,而是研究的实质内容。它们的产物,就是方法学章节里那几段最难写、也最容易被审稿人追问的文字:纳入排除流程、随访窗口定义、失访处理。写清楚了,结论才有分量;写不清楚,再漂亮的模型也只是在拟合幸存者。

2.5 与同类资源的字段差异

字段维度 ARIC Framingham MESA NHANES
中年入组、随访三十年 有 有(更早、更长) 部分(2000 年起) 无(横截面为主)
黑人样本占比 约四分之一 极低 约四分之一 按设计加权
颈动脉超声连续测量 第 1–4 轮 有 有 无
超声心动图 第 5 轮起 多轮 有 无
脑 MRI 千级子样本 有 有 无
社区监测分母 四十万余人 有 无 无
医保理赔链接 有 有 有 有(部分年份)
全国代表性 无 无 无 有

§3 核心层 A:它究竟是一个什么样的队列

3.1 中年入组、双种族、四社区,三个限定词各有用处

中年入组决定了它能看见「事件发生」,而不是「危险因素已经存在」。四十五到六十四岁是冠心病与卒中发病率开始爬升的窗口,入组时大多数人还没有临床事件,十年之内事件密度足够,统计功效才站得住。

双种族是刻意的设计。四个现场里,杰克逊是全黑人样本,福赛斯县黑人比例较高,明尼阿波利斯郊区与华盛顿县以白人为主。把「三个现场代表各自社区的族群构成、杰克逊代表黑人」写进 1989 年的设计论文,意味着种族比较从第一天起就是预设的分析维度,而不是事后补的。

四社区也不是随便挑的。四个地方在气候、产业、饮食传统、医疗资源上差异明显,地理差异被当成一个可以测量的变量,而不是需要消除的噪声。

3.2 时间轴上的三次转向

第一次转向发生在 1990 年代末。颈动脉超声做完四轮,团队发现「亚临床动脉粥样硬化」的测量已经足够成熟,研究重心从「血管壁厚度」转向「临床事件」。

第二次转向发生在 2011 年前后。参与者普遍进入七十岁,第 5 轮一次性加入超声心动图、脑 MRI、完整认知测验与视网膜照相。这一轮是整个项目最贵、也最关键的一次押注:把「心血管」和「认知」放进同一个人的同一次检查里。

第三次转向正在进行。第 9 轮之后,项目把重点放在「超高龄」——参与者已到八九十岁,检查方案随之简化,脑 PET、数字化步态、听力与连续血糖监测等新模块通过子研究接入。

3.3 监测臂:四十万人的分母

社区监测做的事,是把四个地区所有居民的冠心病住院与死亡逐例翻病历、读心电图、开判定会。它的产出不是随访数据,而是发病率与病死率的时间序列,按年龄、性别、种族、地点分层。

这个臂的存在,让 ARIC 能回答一类队列本身回答不了的问题:某个社区的心梗发生率十年间下降了,是因为危险因素变少了,还是因为治疗变好了?前者看队列,后者看监测,两者对照才有答案。

3.4 它和「全国代表性调查」的根本差别

NHANES 这类调查用复杂抽样保证全国代表性,代价是每个人只被看一次。ARIC 反过来:放弃代表性,换来同一个人三十年的连续记录。这个交换在方法学上的后果是,它不能估患病率,只能估关联与风险比。

理解了这一点,很多看似矛盾的说法就能自洽。官方页面说「帮助理解四十万余名成人的心脏病风险」,说的是监测臂;说「约一万六千人」,说的是队列臂;说「最大的黑人心脏健康研究」,说的是黑人子样本的规模。三个数字对应三个不同的分母,不能互换。

§4 核心层 B:质量从哪里来

4.1 终点判定委员会:所有「事件」都是被读出来的

ARIC 的心血管事件不是从出院诊断里抄出来的,是由发病与死亡分类委员会按统一标准逐例判定。住院事件靠病历摘要、心电图、心肌酶;院外死亡靠死因调查、家属或知情者问卷、法医记录。判定结果带日期、类型与依据等级。

这件事的分量在建模时才会显现。用 ICD 编码粗筛的事件,会系统性混入「因检查而发现、临床意义有限」的病例;判定过的事件则把「真正发生过心梗」和「只是住了院」分开。做风险预测时,前者的标签噪声足以让区分度虚高。

同样的机制也用在卒中(区分缺血与出血)、心力衰竭(区分住院与门诊、区分射血分数)和痴呆(多轮神经心理测验 + 知情者问卷 + 死亡前的医学记录)上。

判定是有成本的。每一例疑似事件都要调病历、找心电图、核对心肌酶,再开会裁定,四个现场的疑似病例加起来是六位数。这笔投入换来的东西很具体:事件日期精确到天,事件类型不混淆,而且能区分「致死」与「非致死」。做时间依赖的模型时,日期精度直接决定风险集的构造是否可靠;用年月近似,会让同时在同一个月发生的事件挤在一起,风险比出现难以解释的抖动。

对使用者的实际含义是,事件表里有几列必须逐一看懂:事件类型、发生日期、判定依据、判定等级。最后一列常被忽略,但它标明了这个事件是「有完整证据」还是「只有部分证据」,敏感性分析时可以把后者剔除,看看结论是否还站得住。

4.2 影像与组学是分层放的,不是人人都有

ARIC 的影像不是全队列普查,而是按子样本铺开的:颈动脉超声在早期轮次几乎人人做,超声心动图集中在第 5 轮与第 7 轮,脑 MRI 分两批(2003–2006 与 2011–2013)各千余人,脑 PET 更晚更小。

这个结构的后果是:影像分析的有效样本量由子样本决定,不由队列人数决定。写方法学部分时如果把「一万五千人的队列」当成影像研究的样本量,审稿人会立刻指出。

组学也是同样的逻辑。基因型覆盖较广,全基因组测序只在一部分人身上做,蛋白组与代谢组按批次测量。每一批的测量时间不同,批次效应必须在模型里处理。

4.3 案例:杰克逊现场的四千人

把设计理念落到具体数字上,杰克逊现场是最好的例子。这个现场从一开始就只招黑人,入组约三千七百人,是四个现场里唯一一个单种族样本。它的存在让「黑人与白人的心血管风险差异」从一句泛泛的观察,变成可以配对比较的命题:同样的问卷、同样的血压计、同样的中心实验室、同样的读片中心,唯一的区别是人和地方。

这个设计的价值在几个具体问题上体现得很清楚。其一,颈动脉内中膜厚度的种族差异,在控制了年龄、血压、血脂之后仍然存在,说明测量之外的生物学或生命历程因素在起作用。其二,心力衰竭的发病率在黑人中更高,而第 5 轮的超声心动图显示,差异的一部分来自左心室肥厚与舒张功能,而非单纯的射血分数下降。其三,认知测验的基线得分存在种族差异,但当教育与识字水平被纳入后,差异显著缩小——这一条直接影响了后续所有认知论文的协变量设定。

§4.3 的案例同时暴露了限制。杰克逊现场是密西西比州一个城市的便利样本,参与者多为城市居民,与福赛斯县、华盛顿县的乡村与半乡村人群不可直接互换。把「黑人」当成一个同质类别,是使用这批数据时最容易犯的错。§4.1 提到的终点判定在这里起了缓冲作用:事件定义统一,至少保证了分子是可比的;但分母代表谁,仍然取决于现场。§4.3 的案例因此在方法学上有一个直接推论——任何以种族为自变量的模型,都应该把现场作为分层或随机效应纳入,而不是只放一个种族哑变量。

4.4 质量控制的五个抓手

抓手 做法 对使用者的意义
中心实验室 血脂、凝血、生化集中检测 跨现场可比,但跨轮次有方法学变更
中心读片 颈动脉与心脏影像集中判读 减少现场差异,读片版本需记录
统一问卷 同一套问卷、同一套培训 变量语义稳定,翻译版需核对
重复测量 部分样本做重复读片与复测 可估计测量误差,用于回归稀释校正
事件判定 委员会逐例判定 标签干净,适合做预测模型

4.5 它的特色:把「地点」当成变量

多数队列把地理当成抽样框架,ARIC 把它当成研究对象。街区贫困指数、建成环境、居住隔离、医疗资源可及性,都被地理编码后并入分析。这让它成为少数能同时讨论「个人风险因素」与「场所效应」的队列。

代价是隐私保护的复杂度上升:原始地址不能发放,只能发放地理编码后的衍生变量,且不同层级(普查区、街区组)的可申请范围不同。

§5 核心层 C:怎么把数据拿到手

5.1 三条路径,先分清哪条通向什么

路径 拿到什么 门槛 周期
BioLINCC 人级表型、事件表、部分化验 申请 + 数据使用协议 + 机构签署 数周至数月
dbGaP 基因型、测序、部分受控表型 授权访问 + 数据使用认证 + 机构审批 数月
子研究合作 特定组学批次、影像原始数据 与课题组直接合作 视合作而定

三条路径的数据版本不一定同步。以 BioLINCC 为表型主版本、以 dbGaP 为基因型主版本,是常见做法,但必须记录各自的下载日期与版本号。

版本不同步会带来一个隐蔽的问题:同一个人的表型在两次发布之间被修订过。修订的原因可能是发现了录入错误、调整了衍生变量的算法、或者补上了迟到的死亡登记。如果两批数据在本地混用,同一个人可能有两套互相矛盾的值,而合并脚本通常不会报错,只会静默地取到其中一个。稳妥的做法是在本地建一张版本表,记录每个文件的来源、下载日期与校验和,分析脚本里显式引用版本号。

5.2 BioLINCC 申请的实际步骤

第一步是在 BioLINCC 上找到 ARIC 的研究页,确认可用范围。官方页面写得很清楚:可申请第 1 至第 10 轮检查数据、第 2 至第 35 年的年度随访接触数据,以及截至 2023 年的死亡、冠心病与卒中事件随访,另含部分子研究数据。

第二步是准备研究摘要与变量清单。变量清单越具体,审批越快;写「全部变量」通常会被打回要求细化。

第三步是签署数据使用协议。协议里两条最要紧:不得用于商业目的;不得尝试重新识别个体。

第四步是拿到下载凭据,按模块下载。文件是 SAS 格式,附带变量字典与编码手册。

#-- 申请通过后,先核对官方页面的可用范围与更新日期,再规划下载
curl -s https://biolincc.nhlbi.nih.gov/studies/aric/ -o aric_biolincc.html
grep -o "Available Data" -A 6 aric_biolincc.html | sed 's/<[^>]*>//g' | head -20

#-- 下载完成后先算校验和,避免大文件传坏
sha256sum aric_visit5.tar.gz > aric_visit5.sha256

5.3 dbGaP 这一侧要注意什么

基因组数据在 dbGaP 走授权访问。申请时需要说明研究用途、数据保护计划,并由机构签署。获批后通过受控访问平台取数,不能把原始基因型文件随意转存到个人电脑。

实际操作中有两个坑。其一,dbGaP 的样本编号与 BioLINCC 的参与者编号不是同一个体系,需要官方提供的对应表才能合并;没有对应表就硬拼,会得到一堆对不上的空值。其二,不同批次的测序与芯片平台不同,合并分析前必须做祖源主成分与批次校正。

5.4 变量字典与轮次对齐

ARIC 的变量命名规则是「语义 + 轮次数字」,例如体重指数在第 1 轮叫 bmi1、第 5 轮叫 bmi5。做纵向分析时,第一件事是把它们收拢成语义列加轮次列的长表。

#-- 把多轮检查拼成长表:一轮一个文件,拼完用 visit 列区分
import pandas as pd

VISITS = {1: "v1_exam.sas7bdat", 2: "v2_exam.sas7bdat", 5: "v5_exam.sas7bdat"}
frames = []
for visit, path in VISITS.items():
    d = pd.read_sas(path, format="sas7bdat", encoding="latin-1")
    d = d.rename(columns={c: c.rstrip("0123456789") for c in d.columns})
    d["visit"] = visit
    frames.append(d[["aid", "visit", "bmi", "sbp", "dbp"]])

long = pd.concat(frames, ignore_index=True)
long = long.sort_values(["aid", "visit"]).reset_index(drop=True)
print(long.groupby("visit")["aid"].nunique())

拼完之后一定要做一次人数核对:每一轮的唯一参与者数应当与官方时间线一致,不一致说明主键处理有误或混入了重复导出。

5.5 事件时间与人年的算法

生存分析的关键是把「检查日期」「事件日期」「死亡日期」「末次接触日期」四个时间点摆正。规则是:事件发生则用事件日期截尾;无事件则用末次接触或死亡日期截尾,取较早者。

#-- 计算事件时间与结局指示,注意日期格式与缺失码
import pandas as pd

base = pd.read_sas("v1_exam.sas7bdat", format="sas7bdat", encoding="latin-1")
ev = pd.read_sas("events_chd.sas7bdat", format="sas7bdat", encoding="latin-1")

df = base.merge(ev, on="aid", how="left")
df["exam_date"] = pd.to_datetime(df["exam_date"], unit="D", origin="1960-01-01")
df["event_date"] = pd.to_datetime(df["event_date"], unit="D", origin="1960-01-01")
df["last_contact"] = pd.to_datetime(df["last_contact"], unit="D", origin="1960-01-01")

df["end_date"] = df["event_date"].fillna(df["last_contact"])
df["follow_years"] = (df["end_date"] - df["exam_date"]).dt.days / 365.25
df["chd"] = df["event_date"].notna().astype(int)
print(df["follow_years"].describe())

算完之后先看随访年数的分布有没有负数或离谱的大值,这通常意味着某个日期列被当成了字符型。

5.6 六种常见取数错误

错误 后果 正确做法
把缺失码当数值 均值被拉偏 先读编码手册,把 9/99/-9 设为缺失
用出院诊断代替判定事件 标签噪声大 用事件表,不用住院摘要
忽略轮次方法学变更 血脂跨轮不可比 查各轮实验室方法,做校正或分层
子样本当全队列 样本量虚高 先算子样本的纳入条件
监测臂与队列臂混用 分母错位 明确每个数字属于哪一臂
基因型与表型编号硬拼 合并后大量空值 用官方对应表,核对匹配率

§6 与库内同类词条的关系

6.1 关系图谱

库内的队列类词条已经不少,按「入组年代 × 人群 × 是否全国代表性」三个轴,可以把它们和 ARIC 摆在一起。

词条 与 ARIC 的关系 主要差别
Framingham Heart Study 同属心血管奠基队列,方法学血脉相连 单镇三代家系,1948 年起,几乎全白人
MESA Sleep 同属 NHLBI 多民族队列的睡眠分支 ARIC 有睡眠子研究但非主线,MESA 睡眠是专门测量
CARDIA 同为 NHLBI 四中心黑人与白人队列 青年成人入组,随访设计更密
CHARLS 同属老龄化纵向队列 中国全国样本,结局与量表体系不同
UK Biobank 同属大型前瞻队列 五十万人、志愿者招募、随访偏短
NHIS / NHANES 同属美国人群健康数据 横截面、全国代表性,无长期个体随访
All of Us 同属美国大型队列计划 EHR 为主,随访刚起步
SHHS / MrOS Sleep 同属睡眠专项队列 单一测量域,无心血管事件主线
China Kadoorie Biobank 同属大型社区队列 五十万人、中国十地区、以死亡与住院为主

6.2 与同类队列的逐项区隔

维度 ARIC Framingham CARDIA CHARLS UK Biobank
基线年份 1987–1989 1948 1985–1986 2011 2006–2010
入组年龄 45–64 28–62(初代) 18–30 45 岁以上 40–69
基线人数 一万五千余 五千余(初代) 五千余 一万七千余 五十万
现场数 4 1 4 28 省 22 个评估中心
种族设计 黑人与白人,含全黑人现场 以白人为主 黑人与白人各半 汉族为主 以白人为主
随访时长 三十五年以上 七十五年以上 三十五年以上 十余年 十余年
影像深度 颈动脉、心脏、脑 心脏、脑、骨 心脏、脑 无 脑、心脏、腹部
事件判定 委员会判定 委员会判定 委员会判定 自报 + 住院记录 住院与死亡登记链接
商业使用 禁止 禁止 禁止 需申请 需申请

CARDIA 是最容易被拿来和 ARIC 混为一谈的一个。两者都是 NHLBI 资助、都是四个现场、都刻意做成黑人与白人对照,连现场都有一处重叠(明尼阿波利斯)。但两者的设计意图相反:CARDIA 想知道「危险因素在十八到三十岁时怎样起步」,ARIC 想知道「危险因素在四十五岁以后怎样兑现」。一个看前半程,一个看后半程。分析上最直接的差别是事件密度——CARDIA 的中年段事件少,适合做危险因素轨迹;ARIC 的事件多,适合做预测与因果。

如果研究问题同时涉及两端,正确做法是把两者当作可拼接的两段,而不是二选一。拼接的前提是变量口径对齐:血压测量方案、血脂检测方法、吸烟定义都要逐条核对,不能只看变量名相同就合并。

6.3 检索路径

在库内找与 ARIC 相邻的词条,可以按标签与关键词两条路走。

#-- 按标签找同类:先定位所有带「队列研究」标签的词条
grep -rl "队列研究" /workspace/qianfanghub-study/writing/*/*_Wikipedia.md | head -20

#-- 按关键词找可比数据:心血管 + 随访 + 事件判定
grep -rl "心血管" /workspace/qianfanghub-study/writing/*/*_Wikipedia.md \
  | xargs grep -l "随访" | head -20

检索时注意一个陷阱:库内不少词条的标题里带「队列」二字,但实际是横截面调查或病例系列。判断标准不是标题,而是有没有「同一批人、至少两次测量、事件日期」这三件事。

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

看到「三十五年随访」这个说法,第一反应往往是「数据很完整」。这是一个典型误判。随访时长描述的是项目持续了多久,不是每个人被观测了多久,更不是每个人每年都有一次体检。

实际形态是:每个人都从 1987 年前后开始,随后按各自的参与意愿与生存状态逐轮脱落。第 5 轮只有约四成的人回到现场,第 9 轮不到两成。中间那些没回来的人,结局并不是缺失的——通过电话随访、住院记录、死亡登记,事件仍被捕捉,但协变量停在了上一次检查的数值上。

所以正确的读法是:分母随时间收缩,事件随时间累积。前者决定了横截面分析的样本量,后者决定了生存分析的信息量。把两者混为一谈,会把「幸存者偏倚」误读成「数据质量好」。

7.1 五维评分

维度 分数 依据
规模 4/5 基线一万五千余人,在中年队列里属中上;但影像与组学是子样本
时间深度 5/5 三十五年以上连续随访,全球同代队列中排前列
结局确定性 5/5 事件由委员会逐例判定,附日期与依据
可接入性 2/5 需申请、禁商用、基因组另走 dbGaP,周期以月计
文档完整度 4/5 有变量字典与时间线;跨轮次变更的说明分散在多处

7.2 DAIMS 维度逐项看

DAIMS 在这里按五件事评估:文档、可及性、完整性、元数据、可持续性。

DAIMS 维度 评级 说明
Documentation 良 变量字典齐全,但需按模块分别找;跨轮次方法学变更需自行拼合
Accessibility 中 申请制,禁商用;学术机构路径顺畅,企业路径基本关闭
Integrity 优 中心实验室、中心读片、委员会判定三层质控
Metadata 良 编码手册完整;部分衍生变量口径需读技术报告
Sustainability 优 资助至 2028 年,协调中心稳定,数据仍在更新

7.3 已知的、可枚举的偏差

偏差 表现 对分析的影响
幸存者偏倚 后期轮次只剩健康者 老年段关联被低估
志愿者偏倚 入组者比同社区非入组者更健康 发病率略低于真实社区
地理偏倚 四个现场非随机 不能外推全国
种族限定 只有黑人与白人 亚裔、拉丁裔结论缺位
检查空窗 第 4 至第 5 轮隔十余年 中年到晚年的转折段不可观测
量表更换 认知测验跨轮不同 纵向比较需等值化
子样本选择 影像与组学非随机 影像结论的适用人群受限
商业限制 协议禁止商用 产业转化研究无法直接使用

§4.3 的案例提示了另一类不容易被写进表格的偏差:现场之间的测量习惯差异。同一个方案在四个地方执行,操作者的手法、设备的维护状态、参与者的配合程度都会留下痕迹。中心读片能消掉一部分,但消不掉全部。做多现场合并分析时,把现场作为随机效应放进模型,是最省事也最有效的处理方式。

7.4 外部验证矩阵

结论类型 在 ARIC 内的证据 外部验证情况
中年血压预测心衰 强 在 Framingham、MESA 中重复
颈动脉内中膜厚度预测卒中 中 在多个欧洲队列中部分重复
中年糖尿病与晚年痴呆 中强 在 CHARLS、UK Biobank 中方向一致
听力损失与认知下降 中 在 ACHIEVE 试验与其它队列中延伸
社会剥夺与心血管事件 中 在多个国家登记数据中重复

外部验证矩阵的作用不是给结论盖章,而是提示哪些结论已经跨队列稳住、哪些还只是单队列发现。用 ARIC 做训练集时,优先选前两行对应的结局,模型的迁移风险更低。

7.5 它为何能持续:一批人愿意被量三十五年

大型队列的常见死法是「人跑光了」。ARIC 没有,原因不神秘:每年两次电话、每三年一次现场、参与者与现场工作人员之间长期的人际关系,以及一套把「参与」变成习惯的运营机制。

资金侧的逻辑同样成立。NHLBI 用合同制而不是项目制支持它,五个合同编号覆盖协调中心与各现场,使得基础设施不随单个课题结题而中断。资助明确写到 2028 年,意味着数据还会继续增长。

学术侧的回报是复利式的:同一批数据可以反复回答新问题,每加一个测量模块(超声心动图、脑影像、听力学、连续血糖),就能再生出一批论文。这种「一次采集、多次变现」的结构,是它能活过三十余年的根本原因。

§8 生态位与历史

8.1 历史沿革

时间 事件
1985 NHLBI 立项,规划四个社区的动脉粥样硬化前瞻研究
1987–1989 第 1 轮检查,入组一万五千七百九十二人
1989 设计与目标论文发表,确立队列 + 监测双结构
1990–1998 第 2 至第 4 轮,颈动脉超声完成四轮连续测量
2003–2006 首批脑 MRI 子样本
2011–2013 第 5 轮,加超声心动图、脑 MRI、认知全套
2016–2019 第 6、7 轮,加听力学、步速、握力
2020–2022 第 8、9 轮,疫情期间简化方案
2024 脑 PET 随访与新一代子研究推进
2028 当前资助周期的终点

8.2 它产出了什么

官方页面给的数字是发表论文超过两千八百篇。真正改变指南的,是几类反复被引用的结论:中年血压与血脂对晚年心衰与卒中的长期效应;糖尿病与血糖暴露时长对痴呆风险的影响;听力损失作为可干预的认知下降危险因素;以及社区层面社会经济剥夺与心血管病负担的关系。

这些结论的共同点是都需要长随访。短队列做不出来,横截面更做不出来,这正是它的生态位。

值得单独提的是「阴性结果」的价值。ARIC 也发表过不少「没有关联」的结论,比如某些被广泛宣传的生物标志物在调整传统危险因素后不再显著。这类结果在数据库里同样重要,因为它们能防止后来者重复走同一条路。一个只收录阳性发现的领域,会系统性地高估效应量;有一个愿意发表阴性结果的长队列,是这个领域的公共品。

8.3 生态位:介于「单个小镇」与「全国调查」之间

把美国的心血管队列排成一条轴:一端是 Framingham 这样的单镇深度队列,样本小、测量密、随访长;另一端是 NHANES 这样的全国调查,样本代表性强、测量只做一次。ARIC 在中间偏左:四个社区、一万五千人、测量密度略低于 Framingham 但覆盖种族与地点差异。

这个位置决定了它的典型用法:不是用来估全国负担,而是用来检验「在一个人群中发现的关系,在另一个人群里是否成立」。

8.4 治理与资金

协调中心在北卡罗来纳大学教堂山分校,四个现场各有自己的研究团队,另有中心实验室、读片中心、心电图中心。决策由指导委员会与 NHLBI 项目办公室共同做出。

子研究的入口是开放的:外部课题组可以申请把新测量加到现有队列上,获批后自筹经费。这条通道让 ARIC 在不膨胀主线预算的前提下,持续接入新技术。

这条通道的实际运作方式是:课题组先提交概念书,经指导委员会评审同意后,由协调中心协调现场排期,测量数据按约定并入主库,课题组获得优先使用期,期满后向全体申请者开放。这个安排对双方都有好处——课题组用较低成本获得高质量样本,主库则积累了新维度。对使用者而言,这意味着同一个人身上可能同时有主线模块与若干子研究的测量,申请时要问清楚哪些已经解禁、哪些还在优先期内。

治理结构也解释了为什么它的文档风格偏「工程」而不是「产品」。合同制支持、多中心协同、跨机构数据共享,决定了变量字典必须精确到编码值,而不是给一份漂亮的说明页。第一次接触会觉得门槛高,习惯之后反而省事:所有含糊的地方,字典里都有答案。

§9 使用指引

9.1 三种角色的路径

角色 最该先做的事 最容易踩的坑
流行病学研究者 读第 1 轮设计论文与各轮方法学报告 忽略跨轮次实验室方法变更
机器学习建模者 先用事件表 + 人级宽表搭 baseline 把缺失码当数值,把子样本当全队列
临床研究者 明确结局定义与判定标准 用出院诊断替代判定事件

9.2 一条最短的可用流程

从零到跑出第一个风险比,最短路径是这样的:申请数据 → 读变量字典 → 拼人级表 → 对齐事件 → 拟合模型 → 做敏感性分析。

#-- 最短流程:基线表 + 事件表 → Cox 模型
import pandas as pd
from lifelines import CoxPHFitter

base = pd.read_sas("v1_exam.sas7bdat", format="sas7bdat", encoding="latin-1")
ev = pd.read_sas("events_chd.sas7bdat", format="sas7bdat", encoding="latin-1")

df = base.merge(ev, on="aid", how="left")
df["age"] = df["age1"]
df["sex_male"] = (df["sex"] == 1).astype(int)
df["follow_years"] = df["follow_years"].clip(lower=0.01)
df["chd"] = df["chd"].fillna(0).astype(int)

cols = ["follow_years", "chd", "age", "sex_male", "sbp1", "bmi1", "ldl1"]
model = CoxPHFitter()
model.fit(df[cols].dropna(), duration_col="follow_years", event_col="chd")
model.print_summary()

跑通之后要做的第一件事不是调参,而是三组敏感性分析:排除随访前两年发生的事件(排除反向因果)、按现场分层、按种族分层。三组结果方向一致,结论才算初步站住。

9.3 引用方式

引用 ARIC 有三层:数据本身、设计论文、具体使用的那一轮方法学报告。三层都要写,否则审稿人会追问数据版本。

引用对象 建议写法
数据 ARIC Study, NHLBI, 数据经 BioLINCC 获取,注明下载日期与轮次
设计 1989 年发表于 American Journal of Epidemiology 的设计与目标论文
方法 所使用模块对应的技术报告或分轮方法学论文
基因组 dbGaP 研究编号与批准号

§10 AI 使用声明

项目 内容
文本生成 由大语言模型依据官方页面与论文摘要起草,经人工核对数字
数字来源 ARIC 官网项目概览、NHLBI 研究页、BioLINCC 研究页、1989 年设计论文、2024 年时间线 PDF
未核实项 dbGaP 研究编号与部分人群构成比例,见附录 B
代码 示例代码为通用写法,变量名按官方命名习惯推测,实际运行需对照下载的字典
图像 无真实图像,封面为生成式插画提示词
判断性内容 评分与区隔判断为编辑意见,非官方结论
更新机制 官方发布新轮次或新版本时重核数字
责任边界 使用前请以官方页面与数据使用协议为准

常见误读

常见说法 实际 证据
ARIC 是十万人级队列 基线一万五千余人 BioLINCC 研究页与官网时间线一致
随访三十五年等于人人被查三十五年 到场人数逐轮衰减,后期不足两成 官方时间线逐轮列出到检人数
四个现场代表美国 便利选取,仅黑人与白人 1989 年设计论文说明抽样逻辑
队列人数就是发病率分母 监测臂另有四十余万人分母 官网把两臂分列描述
从 1987 年每年都体检 第 4 至第 5 轮之间隔十余年 时间线标出各轮年份
心衰数据从 1987 年就有影像 超声心动图自第 5 轮起 第 5 轮超声设计论文
认知测验一套量表用到底 跨轮更换量表 各轮认知模块文档
数据可以下载后商用 协议明确禁止商业用途 BioLINCC 授权条款
基因组和表型在同一个包里 分属 dbGaP 与 BioLINCC 两个平台的发放范围不同
黑人样本只占很小一部分 约占四分之一,且有一个全黑人现场 设计与现场构成说明

FAQ

Q1:ARIC 能免费下载吗?
不能直接下载。需要在 BioLINCC 提交研究申请、说明用途与变量清单,签署数据使用协议后发放,且协议禁止商业用途。

Q2:队列到底有多少人?
基线入组一万五千七百九十二人。此后逐轮流失,第 5 轮回到现场的有六千余人,第 9 轮约两千人。写论文时必须注明用的是哪一轮。

Q3:为什么第 4 轮到第 5 轮空了十几年?
1996 至 1998 年第四轮结束后,研究转入以电话随访与事件监测为主的阶段,2011 至 2013 年才组织第五轮现场检查,并同期加入超声心动图与脑影像。

Q4:有没有医保理赔数据?
有。ARIC 把参与者与联邦医保理赔记录做过链接,用于识别痴呆、心衰与住院利用,相关算法已发表,但理赔数据属于另行申请的受限部分。

Q5:影像数据能拿到原始 DICOM 吗?
部分子研究可以提供影像,但通常以衍生测量值(如内中膜厚度、左心室质量)形式发放。原始影像需与影像读片中心另行协商。

Q6:能用来做全国患病率估计吗?
不能。四个现场是便利样本,只收黑人与白人,没有抽样权重。估全国患病率应使用 NHANES 这类有复杂抽样的调查。

Q7:和 CARDIA 怎么选?
看年龄窗口。研究危险因素如何在青年期起步,选 CARDIA;研究中年指标如何兑现为晚年事件,选 ARIC。两者现场有一处重叠,但人群与随访设计不同。

Q8:数据申请要多久?
取决于变量清单的具体程度与机构审批速度,通常以月计。只申请人级表型会比同时申请基因组与影像快。

Q9:变量名里的数字后缀是什么意思?
是轮次。sbp1 是第 1 轮收缩压,sbp5 是第 5 轮。跨轮分析时要把后缀去掉、另加一列轮次,否则合并会错位。

Q10:随访时间怎么算?
从当轮检查日期起算,到事件日期、死亡日期或末次接触日期,取最早发生者。三个日期列任何一个处理错,随访年数都会失真。

Q11:为什么同一篇论文里的样本量和我算的不一样?
多半是纳入排除标准不同,或用了不同轮次的子样本。逐条比对纳入条件,通常能对上。

Q12:第一次用,应该从哪个模块入手?
从人级人口学表加事件表开始,先跑一个只含年龄、性别、血压、血脂、吸烟的 Cox 模型,把流程走通。影像与组学留到第二步,避免一上来就被文件结构淹没。

术语表

术语 含义
ARIC Atherosclerosis Risk in Communities Study,社区动脉粥样硬化风险研究
队列臂 签署知情同意、被反复检查的个体样本
监测臂 四个社区内全部居民的冠心病住院与死亡登记
轮次(visit) 一次集中现场检查,编号 1 至 9
接触年(contact year) 年度电话随访的计数单位
内中膜厚度 颈动脉超声测量的管壁厚度指标
斑块 管壁局部增厚并突入管腔的病变
超声心动图 心脏结构与功能的超声检查
斑点追踪 基于超声灰阶的心肌应变测量技术
事件判定 由委员会依据病历与证据裁定结局是否发生
冠心病 含心肌梗死、冠心病死亡等终点
心力衰竭 按住院与门诊标准分别判定的心衰事件
认知等值化 把不同量表的分数换算到同一尺度
地理编码 把地址转成可分析的地区单元
街区剥夺指数 综合反映地区社会经济水平的合成指标
子样本 从全队列中按条件抽取、接受额外测量的部分
批次效应 不同测量批次带来的系统性偏差
回归稀释 测量误差导致效应估计向零偏倚
幸存者偏倚 后期只剩健康者造成的选择性偏差
数据使用协议 规定数据用途与禁止行为的法律文件
受控访问 需授权、可审计的数据发放方式
人年 随访人数与随访时间乘积,用于发病率计算
竞争风险 其他事件导致目标事件不可观测的情形
表型 可观测的临床与生物学特征集合

附录 A:核心数字核对表

项 值 来源 来源层级
基线入组人数 一万五千七百九十二 BioLINCC 研究页 官方
入组年龄 45–64 岁 BioLINCC、1989 设计论文 官方
入组年龄(另一口径) 45–65 岁 NHLBI 研究页 官方
基线年份 1987–1989 官网时间线 官方
现场数 4 官网 官方
随访轮次 现场检查 9 轮,发放至第 10 轮 官网时间线、BioLINCC 官方
随访时长 三十五年以上 NHLBI 研究页 官方
监测臂覆盖人数 四十万余人 官网 官方
第 5 轮到检 六千五百余人 官网时间线 官方
第 9 轮到检 两千一百余人 官网时间线 官方
论文数 两千八百余篇 NHLBI 研究页 官方
资助截止 2028 年 官网 官方
黑人占比 约四分之一 设计论文与现场构成推算 推算
dbGaP 研究编号 phs000280 文献转引 未核实

附录 B:数字的来源分层

层级 内容 处理方式
官方页面 入组人数、年龄、现场、轮次年份、到检人数、资助期限、论文数、监测臂人数 直接采用
论文摘要 设计逻辑、监测臂范围、第 5 轮超声方案、认知模块构成 作为补充,标注论文
推算 黑人占比、各现场人数拆分 标明推算,不作断言
未核实 dbGaP 研究编号、CARDIA 具体现场与人数 正文回避具体数字,附录标注

两处口径差异需要说明。其一,入组年龄上限,NHLBI 写四十五至六十五,BioLINCC 与 1989 年设计论文写四十五至六十四,差额可能来自「满六十五岁前入组」的表述差异,官方未解释。其二,轮次总数,官网时间线列到第 9 轮并标注第 10 轮进行中,BioLINCC 称已发放第 1 至第 10 轮,两者不矛盾,但引用时应写清「已发放」而非「已完成」。

附录 C:完整参考文献

  1. The ARIC Investigators. The Atherosclerosis Risk in Communities (ARIC) Study: design and objectives. American Journal of Epidemiology, 1989.
  2. ARIC 官网项目概览与时间线(aric.cscc.unc.edu/aric9/about/project_overview)。
  3. NHLBI 研究页:Atherosclerosis Risk in Communities (ARIC) Study。
  4. BioLINCC 研究页:ARIC,编号 HLB00020026a。
  5. Shah AM 等。多中心超声心动图研究设计(第 5 轮超声方案),Circulation: Cardiovascular Imaging, 2014。
  6. ARIC Gen2 研究设计与理由,American Journal of Epidemiology, 2026。
  7. 生命历程社会决定因素与慢病风险综述,American Journal of Epidemiology, 2026。
  8. 基于医保理赔识别痴呆的算法研究(ARIC),2026。

附录 D:任务代码

#-- 任务:统计每一轮的有效样本与随访年数中位数,用于判断分析窗口
import pandas as pd

VISITS = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rows = []
for v in VISITS:
    d = pd.read_sas(f"v{v}_exam.sas7bdat", format="sas7bdat", encoding="latin-1")
    d["visit"] = v
    rows.append(d[["aid", "visit"]])

long = pd.concat(rows, ignore_index=True)
summary = long.groupby("visit")["aid"].nunique().rename("n_participants")
summary = summary.reset_index()
summary["drop_from_baseline"] = 1 - summary["n_participants"] / summary["n_participants"].iloc[0]
print(summary.to_string(index=False))
#-- 任务:按现场分层估计事件率,检查是否存在地点异质性
import pandas as pd

df = pd.read_sas("analysis_ready.sas7bdat", format="sas7bdat", encoding="latin-1")
rate = (df.groupby("field_center")
          .agg(events=("chd", "sum"),
               person_years=("follow_years", "sum"))
          .assign(per_1000py=lambda x: x["events"] / x["person_years"] * 1000))
print(rate.sort_values("per_1000py", ascending=False))
-- 任务:在本地数据库中筛出有第 5 轮超声心动图且有完整协变量的分析集
SELECT e.aid
FROM exam_v5 AS e
JOIN echo_v5 AS c ON c.aid = e.aid
WHERE e.age BETWEEN 66 AND 90
  AND c.lvef IS NOT NULL
  AND e.sbp IS NOT NULL
  AND e.bmi IS NOT NULL
  AND e.smoke IS NOT NULL;

附录 E:如果只记五件事

序号 要点
1 基线一万五千余人,1987–1989 年入组,四十五至六十四岁
2 四个现场:杰克逊、福赛斯县、明尼阿波利斯郊区、华盛顿县,含一个全黑人现场
3 现场检查 9 轮,随访三十五年以上,但第 4 至第 5 轮之间空十余年
4 结局为冠心病、卒中、心衰、痴呆与死亡,均由委员会判定
5 申请制、禁商用,基因组另走 dbGaP

编辑说明

本页数字取自 2026 年 10 月可访问的官方页面与论文摘要,核验方式为逐页取原文,未下载原始数据包。未覆盖内容:各现场精确人数拆分、dbGaP 研究编号、CARDIA 的现场与人数细节。若官方更新轮次或修订协议条款,以官方为准。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • cardia — 共享标签:公共卫生与流行病学 / 队列研究 / 心血管疾病 / GWAS
  • dep-eas-gwas — 共享标签:公共卫生与流行病学 / 队列研究 / GWAS
  • mesa — 共享标签:公共卫生与流行病学 / 队列研究 / 心血管疾病
  • framingham — 共享标签:公共卫生与流行病学 / 队列研究 / 心血管疾病
  • china-map — 共享标签:公共卫生与流行病学 / 队列研究 / GWAS
  • superagers-family-study — 共享标签:公共卫生与流行病学 / 队列研究 / GWAS
  • ckb — 共享标签:公共卫生与流行病学 / 队列研究
  • nki-rockland — 共享标签:公共卫生与流行病学 / 队列研究
  • all-of-us — 共享标签:公共卫生与流行病学 / 队列研究
  • chns — 共享标签:公共卫生与流行病学 / 队列研究

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集