在科研论文写作中,分析疾病负担(GBD)数据库资料并计算EAPC(年度平均百分比变化,Estimated Annual Percentage Change)是十分常见。今天,我们就来讲解如何通过简单的步骤计算EAPC,并整理成符合学术规范的统计三线表

一、什么是EAPC?

EAPC 是用来衡量某疾病指标(如发病率、死亡率、伤残调整生命年等)在特定时间段内的变化趋势。它反映了该指标的增长或下降速度,公式如下:

EAPC=(eβ−1)×100EAPC = \left(e^{\beta} - 1\right) \times 100EAPC=(eβ−1)×100

其中:

  • β\betaβ

     是回归模型中时间变量的系数;

  • eee

     是自然对数的底数(约等于2.718)。

通过 线性回归模型,可以拟合疾病指标的自然对数值与时间的关系,计算出 β\betaβ,从而得到 EAPC。

常见文章中第一张表格如下:

那么该如何计算EAPC呢?如下图是示例数据

首先必须要做一下数据过滤,这个做1990年到2019年的ASIR的eapc:

data=read.csv('MA_area.csv')#这里数据过滤我用的是GlobalburdeR包的过滤函数,其他过滤方式也没问题data2=gbd_filter(data,measure=='Incidence',age=='Age-standardized',metric == "Rate")

接下来计算eapc:

# 假设数据已经读入并命名为 datalibrary(dplyr)# 计算ln(rate)data$ln_rate <- log(data$val)# 按国家分组计算EAPCresults <- data %>%  group_by(location) %>%  summarise(    # 计算EAPC    model = list(lm(ln_rate ~ year)),    eapc = (exp(coef(model[[1]])[2]) - 1) * 100,    # 计算95%置信区间    ci_lower = (exp(confint(model[[1]], 'year')[1]) - 1) * 100,    ci_upper = (exp(confint(model[[1]], 'year')[2]) - 1) * 100  ) %>%  select(-model)# 展示结果print(results)

当然也可以直接使用专用包的函数:

res=compute_gbd_eapc(data2)

结果如下:

那么多个地区EAPC的三线表,该如何绘制?这里可以使用GlobalburdeR包的功能函数轻松完成并且导出到word中:

setwd('G:/GBD数据库教学视频/GBD可视化1/[GBD数据库挖掘] 3.R自动绘制复杂三线表')data=read.csv('cancer.csv')data=gbd_filter(data,measure == "Incidence")location=unique(data$location)order=c("Overall","Female","Male","High SDI",        "High-middle SDI","Middle SDI",        "Low-middle SDI","Low SDI",        "Andean Latin America","Australasia",        "Caribbean","Central Asia","Central Europe",        "Central Latin America","Central Sub-Saharan Africa",        "East Asia","Eastern Europe","Eastern Sub-Saharan Africa",        "High-income Asia Pacific","High-income North America",        "North Africa and Middle East","Oceania","South Asia",        "Southeast Asia","Southern Latin America",        "Southern Sub-Saharan Africa","Tropical Latin America",        "Western Europe","Western Sub-Saharan Africa")tb=GBD_table(  input_path = "liver_cancer.csv",      # 输入文件的路径  measure = "Incidence",                # 测量指标(Incidence、Mortality 等)  locations = location,                     # 地点列表(默认使用特定的一组地点)  year1 = 1990,                         # 第一个年份(默认1990年)  year2 = 2019,                         # 第二个年份(默认2019年)  regions_order = order,                 # 地区顺序(默认按照特定顺序排列)  output_path = '11123.docx'                    # 输出表格保存路径(默认不保存))

可以在word中得到如下结果:

那么今天对于EAPC三线表的介绍就大概这么。核心点就是EAPC的R语言计算代码。

Logo

一站式 AI 云服务平台

更多推荐