在科研论文写作中,分析疾病负担(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:
# 假设数据已经读入并命名为 data
library(dplyr)
# 计算ln(rate)
data$ln_rate <- log(data$val)
# 按国家分组计算EAPC
results <- 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语言计算代码。