CRAN 任务视图:流行病学
维护者 | Thibaut Jombart,Matthieu Rolland,Hugo Gruson |
联系方式 | hugo.gruson+ctv at normalesup.org |
版本 | 2024-03-18 |
网址 | https://CRAN.R-project.org/view=Epidemiology |
源代码 | https://github.com/cran-task-views/Epidemiology/ |
贡献 | 欢迎对本任务视图提出建议和改进,可以通过 GitHub 上的问题或拉取请求,或通过电子邮件发送给维护者地址。有关更多详细信息,请参阅 贡献指南。 |
引用 | Thibaut Jombart,Matthieu Rolland,Hugo Gruson (2024)。CRAN 任务视图:流行病学。版本 2024-03-18。网址 https://CRAN.R-project.org/view=Epidemiology。 |
安装 | 可以使用 ctv 包自动安装本任务视图中的软件包。例如,ctv::install.views("Epidemiology", coreOnly = TRUE) 安装所有核心软件包,或 ctv::update.views("Epidemiology") 安装所有尚未安装和更新的软件包。有关更多详细信息,请参阅 CRAN 任务视图计划。 |
贡献者(按字母顺序):Neale Batra,Solène Cadiou,Dylan Dijk,Christopher Endres,Rich FitzJohn,Hugo Gruson,Andreas Handel,Michael Höhle,Thibaut Jombart,Joseph Larmarange,Sebastian Lequime,Alex Spina,Tim Taylor,Sean Wu,Achim Zeileis。
概述
R 正在成为流行病学领域的标准工具,提供从研究设计到流行病学数据探索、建模、预测和模拟的广泛工具。本任务视图概述了专门为流行病学开发的软件包,包括传染病流行病学 (IDE) 和环境流行病学。它不包括
- 在这些领域中使用但不是专门为流行病学环境开发的通用工具,
- “组学”方法和全基因组关联研究 (GWAS),这些方法可用于流行病学,但构成一个很大程度上独立的领域。
软件包按以下类别分组
- 数据可视化:专门用于处理和可视化流行病学数据的工具,例如流行曲线(“流行曲线”)、接触者追踪网络的探索等。
- 传染病建模:IDE 特定软件包,用于分析流行曲线(包括疫情检测/监测)、估计传播率、短期预测、隔室模型(例如 SIR 模型)、疫情模拟和传播树重建。
- 环境流行病学:专门用于研究作为疾病决定因素的环境因素的工具。
- 辅助工具:实现各种任务的工具,这些任务对于流行病学实践和教学很有用,例如样本量计算、拟合离散伽马分布或处理线列表数据。
- 数据包:这些软件包提供对经验和模拟流行病数据的访问;包括关于 COVID-19 的特定部分。
任务视图的脚注中提供了指向非特定但非常有用的包(用于创建表格、操作日期等)的附加链接。
纳入标准
本任务视图中包含的包是通过专家流行病学家的推荐以及使用pkgsearch::pkg_search()
和关键字:流行病学、流行病、epi、爆发和传播进行的自动 CRAN 搜索确定的。该列表经过手动整理,以满足上一段中描述的条件,最终确定了最终选择。
如果包提供明确针对传染病报告、建模或预测的工具或数据,则认为该包在范围内。
欢迎您的意见!如果您发现我们可能遗漏的包,请在 GitHub 存储库中提交问题或联系维护者。
数据可视化
本节包括提供用于可视化和探索流行病学数据的特定工具的包。
传染病建模
本节包含专门用于 IDE 建模的软件包。请注意,R 提供了大量用于通用时间序列建模的选项,其中许多列在 TimeSeries 和 Survival 任务视图中。
流行病监测
以下软件包实现了监测算法,但这些方法可以通过空间分析得到有效补充。我们建议查看 Spatial 任务视图,其中包含专门针对 疾病映射和区域数据分析 的部分。
个体水平数据
数字流行病学
传播力的估计
隔室模型
- EpiILM: 提供用于从离散时间个体水平模型中模拟数据的工具,用于传染病数据分析。此流行病模型类别包含基于空间和接触网络的模型,具有两种疾病类型:易感-感染 (SI) 和易感-感染-移除 (SIR)。
- EpiILMCT: 提供用于从连续时间个体水平疾病传播模型中模拟数据,并使用相同模型进行传染病数据分析的工具。所考虑的流行病模型是在易感-感染-移除 (SIR) 或易感-感染-通知-移除 (SINR) 隔室框架内的基于距离和/或接触网络的模型。 Almutiry 和 Deardon (2019) 对实施的连续时间个体水平流行病模型进行了概述。
- EpiModel: 用于模拟传染病动力学数学模型的工具。流行病模型类别包括确定性隔室模型、随机个体接触模型和随机网络模型。网络模型使用 R 中 Statnet 软件包套件中稳健的指数族随机图模型 (ERGM) 统计方法。流行病建模的标准模板包括 SI、SIR 和 SIS 疾病类型。EpiModel 提供了一个 API,用于扩展这些模板以解决新颖的科学研究目标。 Jenness 等人 (2018) 详细介绍了 EpiModel 的完整方法。
- odin: 提供了一个通用的、快速且计算效率高的平台,用于实现任何确定性或随机隔室模型(例如 SIR、SEIR、SIRS 等),并且可以包括年龄分层或空间化。它使用特定领域语言 (DSL) 来指定常微分方程 (ODE) 系统并对其进行积分。DSL 使用 R 的语法,但编译为 C 以便使用 deSolve 和 dde 包的接口有效地解决系统。
- pomp 提供大量正向模拟算法和 MLE 或贝叶斯推理技术,用于处理状态空间模型。模型可以指定为确定性或随机性,通常遵循隔室模型结构。时间可以是离散的或连续的,具体取决于所选择的模拟算法。此外,模型可以在 C 中编程并在运行时编译成适合在包中使用的格式,以加快模拟和推理速度。R 包及其一些算法在 King、Nguyen 和 Ionides (2016) 中进行了描述。
- popEpi: 能够计算流行病学统计数据,包括使用参考人群的计数或死亡率的统计数据。目前支持:超额风险模型、比率、平均生存时间、相对生存率以及标准化发病率和死亡率比(SIR/SMR),所有这些都可以通过年龄等协变量轻松调整。使用
r pkg("Epi", priority = "core")
包中的“Lexis”对象进行快速拆分和聚合,以及使用 r pkg("data.table")
进行其他计算。 - SimInf: 提供了一个高效且灵活的框架,用于在现实的大规模疾病传播模拟中进行数据驱动的流行病学建模。该框架使用吉列斯皮随机模拟算法将亚群中的感染动力学整合为连续时间马尔可夫链,并将出生、死亡和迁移等可用数据作为预定义时间点的计划事件纳入。使用 C 代码进行数值求解器,并使用“OpenMP”(如果可用)将工作分配到多个处理器,确保在模拟样本结果时具有高性能。该包包含模板模型,并且可以使用用户定义的模型进行扩展。有关更多详细信息,请参阅 Widgren、Bauer、Eriksson 和 Engblom (2019) 的论文。
- socialmixr: 提供从日记数据中采样接触矩阵的方法,用于传染病建模,如 Mossong 等人 (2008) 所述。
- finalsize: 计算具有接触模式和疾病易感性的人口统计学差异的群体中易感-感染-恢复流行病的最终规模,如 Miller (2012) 所述。
传播树重建
环境流行病学
环境流行病学致力于研究环境中作为疾病决定因素的物理、化学和生物因素。环境流行病学的目的是推断因果关系,识别环境疾病原因,例如来自空气和水污染物、膳食污染物、建筑环境等。
专门针对环境流行病学的 R 包包括处理污染物检测限(左删失问题)的工具,以及各种建模方法来解释暴露之间的多重相关性并推断因果关系。
助手
本节包括提供工具以促进流行病学分析以及培训(例如计算样本量、列联表等)的包。
- incidence2: 提供函数和类来计算、处理和可视化来自日期事件的发生率。以多种方式改进了原始的 incidence 包:在使用的时段中具有完全灵活性,允许进行多重分层,并且与 dplyr 和其他 tidyverse 工具完全兼容。 RECON 包。
- DSAIDE: 探索各种传染病传播动力学场景的模拟模型(应用程序)。该包的目的是帮助个人从动力系统角度了解传染病流行病学。所有应用程序都包括对基础模型的解释以及如何使用模型的说明。
- epibasix: 包含用于分析常见流行病学问题的基本工具,涵盖样本量估计、2x2 列联表分析和基本一致性度量(Kappa、敏感度/特异度)。尽可能地编写了适当的打印和摘要语句以方便解释。目标受众包括流行病学或生物统计学课程的高年级本科生和研究生,以及临床研究人员。
- epiR: 用于分析流行病学和监测数据的工具。包含用于直接和间接调整疾病频率度量、根据列联表中呈现的单一或多个分层计数数据量化关联度量、计算发病率风险和发病率估计值周围的置信区间以及横断面、病例对照和队列研究的样本量计算的函数。监测工具包括用于计算 1 级和 2 级代表性自由调查的适当样本量的函数、用于估计监测系统敏感度的函数以及用于支持情景树建模分析的函数。
- epitools: 用于培训和实践流行病学家的工具,包括用于双向和多向列联表的方法。
- epitrix: 一组对流行病分析和传染病建模有用的小型函数。这包括从每日增长率计算基本再生数 (R0)、生成哈希标签以匿名化数据以及拟合离散伽马分布。
- linelist: 实现
linelist
类用于存储病例列表数据,它扩展了 data.frame
和 tibble
,通过添加对标记关键流行病学变量、验证它们以及提供防止意外删除或更改这些数据的保护措施,以帮助使数据管道更直接和更健壮。 - powerSurvEpi: 用于计算流行病学研究(非随机研究)生存分析中检验主效应或交互效应的功效和样本量的函数,同时考虑了感兴趣协变量与其他协变量之间的相关性。一些计算还考虑了竞争风险和分层分析。该包还包含一组用于计算随机临床试验生存分析中检验主效应的功效和样本量的函数。
- AMR: 使用基于证据的方法和可靠的参考数据(如 LPSN (Parte et al. 2020)),简化和标准化抗菌素耐药性 (AMR) 数据分析,并处理微生物和抗菌素特性。
数据
以下是一些提供不同流行病学数据集的包,这些数据集要么是模拟的,要么是真实的,对研究目的或特定 COVID-19 部分的现场应用很有用。
流行病爆发数据
COVID-19
其他数据包
- nhanesA: 提供对美国国家健康与营养检查调查 (NHANES) 数据表的便捷访问。
CRAN 包
核心 | EnvStats, Epi, epicontacts, EpiEstim, EpiModel, EpiNow2, epiR, epitools, incidence2, mediation, NADA, outbreaker2, outbreaks, R0, surveillance. |
常规 | adegenet, AMR, apisensr, argo, Bernadette, bets.covid19, bkmr, cfr, cholera, cmprsk, coarseDataTools, contactdata, corona, coronavirus, COVID19, covid19.analytics, covid19br, covid19dbcand, covid19france, covid19italy, covid19sf, covid19swiss, covid19us, CovidMutations, dbparser, dde, deSolve, DSAIDE, earlyR, endtoend, epibasix, EpiContactTrace, EpiCurve, epiDisplay, epiflows, EpiILM, EpiILMCT, epimdr, epinet, EpiReport, episensr, EpiSignalDetection, epitrix, epitweetr, etm, finalsize, HIMA, i2extras, incidence, linelist, malariaAtlas, mem, memapp, mma, modelSSE, mstate, nbTransmission, nhanesA, nosoi, o2geosocial, odin, pomp, popEpi, powerSurvEpi, riskCommunicator, RSurveillance, SimInf, socialmixr, SpatialEpi, TransPhylo, trendeval, trending, tsiR. |
相关链接
其他资源