This BAPC prediction model has been bothering me for two weeks. What I want to do is predict the disease burden of people over 55 years old, but the code keeps giving me errors and I'm going crazy

r.version
install.packages("INLA",repos=c(getOption("repos"),INLA="Index of /R/testing"), dep=TRUE,lib = "D:\Users\86159\R\win-library\4.4\BAPC")

加载所需的R包

library(INLA)
library(BAPC)
library(data.table)
library(tidyselect)
library(dplyr)
library(ggplot2)
library(epitools)
library(reshape2)

创建一个简单的散点图

p <- ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point()

保存图形,指定合适的尺寸

ggsave(filename = "plot.png", plot = p, width = 8, height = 6, units = "in")

读取疾病数据和人口标准化数据

EC <- read.csv("D:\Users\gbd数据新\global-all ages3.csv")
age_stand <- read.csv("D:\Users\gbd数据新\BAPC文件夹\GBD2019 world population age standard.csv")

使用sub函数将年龄标签转换为统一格式,以便匹配人口学数据和疾病数据

EC <- EC %>%
mutate(age = sub('-', replacement = ' to ', age)) %>%
mutate(age = sub(' years', replacement = '', age)) %>%
mutate(age = sub(' year', replacement = '', age)) %>%
mutate(age = sub('95\+', replacement = '95 plus', age)) %>%
mutate(age = sub('Age to standardized', replacement = 'Age-standardized', age)) %>%
mutate(age = sub('<5', replacement = 'Under 5', age)) %>%
filter(val > 0)

查看处理后的年龄标签

unique(EC$age)

定义疾病真实的年龄结构

ages <- c("10 to 14","15 to 19","20 to 24", "25 to 29",
"30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59",
"60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85 to 89",
"90 to 94", "95 plus")

调取标准人口百分比用

ages_2 <- c("<1 year","1 to 4", "5 to 9","10 to 14", "15 to 19","20 to 24", "25 to 29",
"30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59",
"60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85 to 89",
"90 to 94", "95 plus")

定义预测的年龄结构,纳入模型的年龄结构

ages_3 <- c("55 to 59",
"60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85 to 89",
"90 to 94", "95 plus")

计算标准人口权重

library(dplyr)
wstand <- c(age_stand$std_population[8:16] %>%
as.numeric()) / sum(age_stand$std_population[8:16])

查看计算的标准人口权重

View(wstand)

提取男性食管癌发病数据

提取男性食管癌发病数据

提取男性食管癌发病数据

EC_Male_incidence <- EC %>%
filter(age %in% ages &
sex == 'Male' &
metric == 'Number' &
measure_name == 'DALYs (Disability-Adjusted Life Years)' &
location_name == 'Global')

将男性发病数据转换为宽格式

library(data.table)
EC_Male_incidence_n <- as.data.table(EC_Male_incidence)
EC_Male_incidence_n <- dcast(EC_Male_incidence_n, year ~ age, value.var = "val")

将第一列设置为行名

将第一列设置为行名

将数据框转换为data.table对象

rownames(EC_Male_incidence_n) <- EC_Male_incidence_n$year
EC_Male_incidence_n <- EC_Male_incidence_n[,-1]
EC_Male_incidence_n[,'0 to 4'] <- 0
EC_Male_incidence_n[,'5 to 9'] <- 0
EC_Male_incidence_n <- EC_Male_incidence_n[,c(19:20,1:18)]
EC_Male_incidence_n <- apply(EC_Male_incidence_n, c(1,2), as.integer) %>% as.data.frame()
EC_Male_incidence_n <- apply(EC_Male_incidence_n, c(1,2), round)

提取女性食管癌发病数据

EC_Female_incidence <- EC %>%
filter(age %in% ages &
sex == 'Female' &
metric == 'Number' &
measure_name == 'DALYs (Disability-Adjusted Life Years)' &
location_name == 'Global')

将女性发病数据转换为宽格式

EC_Female_incidence_n <- as.data.table(EC_Female_incidence)
EC_Female_incidence_n <- dcast(EC_Female_incidence_n, year ~ age, value.var = "val")
rownames(EC_Female_incidence_n) <- EC_Female_incidence_n$year
EC_Female_incidence_n <- EC_Female_incidence_n[,-1]
EC_Female_incidence_n[,'0 to 4'] <- 0
EC_Female_incidence_n[,'5 to 9'] <- 0
EC_Female_incidence_n <- EC_Female_incidence_n[,c(19:20,1:18)]
EC_Female_incidence_n <- apply(EC_Female_incidence_n, c(1,2), as.integer) %>% as.data.frame()
EC_Female_incidence_n <- apply(EC_Female_incidence_n, c(1,2), round)
EC_Female_incidence_n <- as.data.frame(EC_Female_incidence_n)
EC_Male_incidence_n <- as.data.frame(EC_Male_incidence_n)

EC_Male_incidence_n <- EC_Male_incidence_n %>%
select(ages_3)
EC_Female_incidence_n <- EC_Female_incidence_n %>%
select(ages_3)

设置行名为1990年至2030年的年份

rownames(EC_Male_incidence_n) <- seq(1990, 2021, by = 1)

设置行名为1990年至2030年的年份

rownames(EC_Female_incidence_n) <- seq(1990, 2021, by = 1)

如果需要,删除原来的第一列(假设是年份列)

请先确认第一列的名称,然后删除该列

例如,如果第一列的名称是"year",则可以这样删除:

EC_Male_incidence_n$year <- NULL

colnames(EC_Male_incidence_n)

设置工作目录并读取人口学数据

setwd("D:\Users\gbd数据新\BAPC文件夹")
dirname <- dir("GBD_Population", full.names = TRUE)
file <- paste0("D:\Users\gbd数据新\BAPC文件夹\GBD_Population\", dirname)

定义需要提取的变量名

var_name <- c( "location_name", "sex_name", "year_id", "age_group_name", "val")

初始化一个空的数据框

GBD_population <- as.data.frame(matrix(nrow = 0, ncol = length(var_name)))
names(GBD_population) <- var_name

逐个读取文件并合并数据

for (a in dirname) {
if (file.exists(a)) {
data <- fread(a) %>%
as.data.frame() %>%
select(var_name) %>%
filter(age_group_name %in% ages_2 )
GBD_population <- rbind(GBD_population, data)
} else {
warning(paste("文件不存在或不可读:", a))
}
}

查看合并后的数据框

head(GBD_population)

对性别标签进行重命名

GBD_population <- GBD_population %>%
mutate(sex_name = case_when(
sex_name == "both" ~ "Both",
sex_name == "male" ~ "Male",
sex_name == "female" ~ "Female"))
GBD_population <- GBD_population[!duplicated(GBD_population), ]

查看处理后的数据框

head(GBD_population)

读取预测人口数据

prediction_var_name <- c("location_name", "sex_name", "year_id", "age_group_name", "val")
GBD_population_prediction <- read.csv("D:\Users\gbd数据新\BAPC文件夹\IHME_POP_2017_2100_POP_REFERENCE_Y2020M05D01.CSV") %>%
as.data.frame() %>%
select(prediction_var_name) %>%
filter(year_id %in% 2020:2030)
GBD <- rbind(GBD_population, GBD_population_prediction)
library(forcats)
GBD_age4 <- GBD %>% subset(age_group_name %in% c("<1 year","1 to 4")) %>%
group_by(location_name, sex_name, year_id) %>%
summarize(val = sum(val))
GBD_age4$age_group_name <- '0 to 4'
GBD_age4 <- GBD_age4[, c(1:3, 5, 4)]
GBD <- subset(GBD, age_group_name %in% ages_3)
GBD <- rbind(GBD, GBD_age4)
GBD <- GBD %>% mutate(age_group_name = fct_relevel(age_group_name, ages_3)) %>%
arrange(age_group_name)
names(GBD)

GBD_Global_Male <- subset(GBD, location_name == 'Global' & sex_name == 'Male')
GBD_Global_Female <- subset(GBD, location_name == 'Global' & sex_name == 'Female')

检查是否有重复值

GBD_Global_Male %>%
group_by(year_id, age_group_name) %>%
summarise(count = n()) %>%
filter(count > 1)

去重

GBD_Global_Male <- GBD_Global_Male %>%
distinct(year_id, age_group_name, .keep_all = TRUE)

检查是否有重复值

GBD_Global_Female %>%
group_by(year_id, age_group_name) %>%
summarise(count = n()) %>%
filter(count > 1)

去重

GBD_Global_Female <- GBD_Global_Female %>%
distinct(year_id, age_group_name, .keep_all = TRUE)

加载 data.table 包

library(data.table)

将数据框转换为 data.table 对象

GBD_Global_Male <- as.data.table(GBD_Global_Male)
GBD_Global_Female <- as.data.table(GBD_Global_Female)

使用 data.table 包的 dcast 函数

GBD_Global_Male_n <- dcast(GBD_Global_Male, year_id ~ age_group_name, value.var = "val")
GBD_Global_Female_n <- dcast(GBD_Global_Female, year_id ~ age_group_name, value.var = "val")

rownames(GBD_Global_Male_n) <- GBD_Global_Male_n$year_id
rownames(GBD_Global_Female_n) <- GBD_Global_Female_n$year_id

GBD_Global_Male_n <- apply(GBD_Global_Male_n, c(1,2), as.numeric) %>% as.data.frame()
GBD_Global_Female_n <- apply(GBD_Global_Female_n, c(1,2), as.numeric) %>% as.data.frame()
GBD_Global_Male_n <- apply(GBD_Global_Male_n, c(1,2), round) %>% as.data.frame()
GBD_Global_Female_n <- apply(GBD_Global_Female_n, c(1,2), round) %>% as.data.frame()
GBD_Global_Female_n <- GBD_Global_Female_n[, -c(1, 11)]
GBD_Global_Male_n <- GBD_Global_Male_n[, -c(1, 11)]

GBD_Global_Both_n <- GBD_Global_Female_n + GBD_Global_Male_n
rownames(GBD_Global_Both_n) <- seq(1990, 2030, by = 1)
rownames(GBD_Global_Female_n) <- seq(1990, 2030, by = 1)
rownames(GBD_Global_Male_n) <- seq(1990, 2030, by = 1)

创建EC_pro数据集用于后续合并

EC_pro <- matrix(data = NA, nrow = 2030 - 2021, ncol = 9) %>%
as.data.frame()
rownames(EC_pro) <- seq(2022, 2030, 1)
colnames(EC_pro) <- names(EC_Male_incidence_n)

合并男性发病数据和EC_pro

EC_Male_incidence_n <- rbind(EC_Male_incidence_n, EC_pro)

合并女性发病数据和EC_pro

EC_Female_incidence_n <- rbind(EC_Female_incidence_n, EC_pro)
library(INLA)

确保数据是数值型

EC_Male_incidence_n <- apply(EC_Male_incidence_n, 2, as.numeric)
GBD_Global_Male_n <- apply(GBD_Global_Male_n, 2, as.numeric)

使用BAPC模型进行预测

install.packages("BAPC",lib = "D:\Users\86159\R\win-library\4.4\BAPC")
EC_Male_incidence_n <- as.data.table(EC_Male_incidence_n)
EC_Female_incidence_n <- as.data.table(EC_Female_incidence_n)

将 EC_Male_incidence_n 转换为数据框

EC_Male_incidence_n_df <- as.data.frame(EC_Male_incidence_n)
GBD_Global_Male_n_df <- as.data.frame(GBD_Global_Male_n)
GBD_Global_Femle_n_df <- as.data.frame(GBD_Global_Female_n)

检查维度

dim(EC_Male_incidence_n) # 应该与 dim(GBD_Global_Male_n) 一致
dim(GBD_Global_Male_n)

检查数据内容

head(EC_Male_incidence_n)
head(GBD_Global_Male_n)

确保 gf 是 numeric

gf <- 5
Male_esoph <- APCList(epi = EC_Male_incidence_n, pyrs = GBD_Global_Male_n, gf = gf)
Male_esoph <- APCList(EC_Male_incidence_n, GBD_Global_Male_n, gf = 5)
Male_bapc_result <- BAPC(Male_esoph, predict = list(npredict = 9, retro = TRUE),
secondDiff = FALSE, stdweight = wstand, verbose = FALSE)

Female_esoph <- APCList(EC_Female_incidence_n, GBD_Global_Female_n, gf = 5)
Female_bapc_result <- BAPC(Female_esoph, predict = list(npredict = 9, retro = TRUE),
secondDiff = FALSE, stdweight = wstand, verbose = FALSE)
dput(EC_Male_incidence_n)
dput(GBD_Global_Male_n)

提取不同年龄段的发病数

Male_proj <- agespec.proj(x = Male_bapc_result) %>% as.data.frame()
Male_proj_mean <- Male_proj[, colnames(Male_proj) %like% 'mean']
names(Male_proj_mean) <- ages_3

Female_proj <- agespec.proj(x = Female_bapc_result) %>% as.data.frame()
Female_proj_mean <- Female_proj[, colnames(Female_proj) %like% 'mean']
names(Female_proj_mean) <- ages_3

Both_proj_mean <- Female_proj_mean + Male_proj_mean

提取不同年龄段的发病率

Male_rate <- agespec.rate(x = Male_bapc_result) %>% as.data.frame()
Male_rate_mean <- Male_rate[, colnames(Male_rate) %like% 'mean'] * 100000
colnames(Male_rate_mean) <- ages_3

Female_rate <- agespec.rate(x = Female_bapc_result) %>% as.data.frame()
Female_rate_mean <- Female_rate[, colnames(Female_rate) %like% 'mean'] * 100000
colnames(Female_rate_mean) <- ages_3

计算总发病率

Both_rate_mean <- Both_proj_mean / GBD_Global_Both_n * 100000

提取标准发病率

Male_ASR <- agestd.rate(x = Male_bapc_result) %>% as.data.frame()
Male_ASR$mean <- Male_ASR$mean * 100000
Male_ASR$year <- rownames(Male_ASR)

Female_ASR <- agestd.rate(x = Female_bapc_result) %>% as.data.frame()
Female_ASR$mean <- Female_ASR$mean * 100000
Female_ASR$year <- rownames(Female_ASR)

计算总发病人数

Male_sum_year <- apply(Male_proj_mean, 1, sum) %>% as.data.frame()
colnames(Male_sum_year) <- 'number'
Male_sum_year$year <- rownames(Male_sum_year)

Female_sum_year <- apply(Female_proj_mean, 1, sum) %>% as.data.frame()
colnames(Female_sum_year) <- 'number'
Female_sum_year$year <- rownames(Female_sum_year)

Both_sum_year <- Male_sum_year + Female_sum_year
Both_sum_year$year <- 1990:2030

绘制BAPC模型结果

plotBAPC(Male_bapc_result, scale = 10^5, type = 'ageStdRate', showdata = TRUE)

绘制不同年龄段发病率组图

plotBAPC(Male_bapc_result, scale = 10^5, type = 'ageSpecRate', showdata = TRUE,
col.fan = terrain.colors)

计算95%置信区间

Male_bapc_result <- qapc(Male_bapc_result, percentiles = c(0.025, 0.975))
Female_bapc_result <- qapc(Female_bapc_result, percentiles = c(0.025, 0.975))

提取标准化发病数及95%置信区间

Male_Aproj <- agestd.proj(x = Male_bapc_result) %>% as.data.frame()
Female_Aproj <- agestd.proj(x = Female_bapc_result) %>% as.data.frame()
Male_Aproj$year <- 1990:2030
Female_Aproj$year <- 1990:2030

构建双坐标轴图

Female_ASR$sex <- 'Female'
Male_ASR$sex <- 'Male'

Male_Aproj$sex <- 'Male'
Female_Aproj$sex <- 'Female'

ASR <- rbind(Female_ASR, Male_ASR)
Num <- rbind(Male_Aproj, Female_Aproj)

ratio <- max(ASR$mean) / max(Num$mean)

plot <- ggplot(Num, aes(year, mean)) +
geom_col(aes(fill = sex), position = 'dodge', width = 0.8) +
geom_errorbar(aes(year, group = sex, ymin = 0.025Q, ymax = 0.975Q),
position = position_dodge(width = 0.8),
width = 0.7, cex = 0.5) +
labs(title = NULL, x = 'Year', y = 'Number of cases') +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(vjust = 1, size = 8, color = 'black'),
axis.text.y = element_text(size = 8, color = 'black'),
axis.title.y = element_text(size = 10),
axis.title.x = element_text(size = 10),
title = element_text(size = 10, hjust = 0.5),
legend.position = 'right') +
geom_ribbon(data = ASR,
aes(x = year, ymin = 0.025Q / ratio, ymax = 0.975Q / ratio,
fill = sex),
alpha = 0.6) +
geom_line(data = ASR,
aes(x = year, y = mean / ratio,
color = sex)) +
scale_y_continuous(sec.axis = sec_axis(~ . * ratio,
name = "DALYs (per 100000 populations)"))
plot

Male_esoph <- APCList(epi = EC_Male_incidence_n, pyrs = GBD_Global_Male_n, gf = gf)
错误: 函数‘APCList’标签‘epi = "data.table", pyrs = "matrix", gf = "numeric"’找不到继承方法
dput(EC_Male_incidence_n)
structure(list(55 to 59 = c(138430, 144654, 150559, 159421,
166758, 171021, 171801, 169944, 168380, 166087, 164007, 163386,
167054, 171504, 180775, 193729, 203756, 209664, 217628, 224263,
235373, 246497, 258473, 272969, 288747, 306337, 326110, 345184,
363213, 383287, 396082, 408718, NA, NA, NA, NA, NA, NA, NA, NA,
NA), 60 to 64 = c(89534, 94761, 98706, 102145, 103217, 103930,
104849, 105945, 107712, 108850, 109946, 108745, 105662, 101732,
98608, 97781, 97569, 102251, 108059, 115157, 122613, 131285,
137219, 145083, 154115, 165612, 176759, 188319, 200418, 211165,
216409, 225142, NA, NA, NA, NA, NA, NA, NA, NA, NA), 65 to 69 = c(53156,
56426, 60254, 64406, 67959, 70478, 72281, 73103, 73500, 72931,
72574, 71923, 70927, 69807, 69456, 70424, 69099, 68262, 68035,
67454, 68129, 69521, 72569, 77260, 83567, 90262, 97774, 103895,
111665, 118463, 122421, 127815, NA, NA, NA, NA, NA, NA, NA, NA,
NA), 70 to 74 = c(31513, 33376, 35321, 37111, 38867, 40900,
42499, 44002, 45858, 46982, 47199, 46690, 45429, 43664, 42589,
42151, 41231, 41635, 42218, 42203, 42682, 43018, 42993, 43757,
44401, 45345, 47184, 50799, 54710, 59101, 61880, 66167, NA, NA,
NA, NA, NA, NA, NA, NA, NA), 75 to 79 = c(18719, 19589, 20274,
21120, 21618, 22507, 23426, 24370, 25314, 25987, 26462, 26501,
26337, 26069, 26211, 26644, 26396, 26315, 26289, 26061, 26168,
26432, 26674, 27466, 28320, 28955, 29643, 30491, 31758, 33035,
33680, 34947, NA, NA, NA, NA, NA, NA, NA, NA, NA), 80 to 84 = c(9032,
9602, 10150, 10764, 11349, 11900, 12306, 12614, 12933, 13035,
13262, 13418, 13444, 13206, 13363, 13549, 13562, 13853, 14281,
14661, 15090, 15563, 15856, 16438, 16996, 17425, 17844, 18549,
19396, 20262, 20837, 21343, NA, NA, NA, NA, NA, NA, NA, NA, NA
), 85 to 89 = c(3155, 3436, 3710, 3969, 4222, 4497, 4772, 5051,
5351, 5538, 5818, 5846, 5646, 5503, 5384, 5394, 5471, 5790, 6136,
6477, 6797, 7137, 7530, 8044, 8513, 8913, 9277, 9673, 10056,
10586, 11013, 11309, NA, NA, NA, NA, NA, NA, NA, NA, NA), 90 to 94 = c(812,
881, 953, 1047, 1146, 1252, 1356, 1471, 1560, 1618, 1669, 1678,
1691, 1733, 1752, 1778, 1799, 1869, 1923, 1984, 2127, 2340, 2587,
2887, 3161, 3374, 3532, 3753, 4016, 4303, 4529, 4711, NA, NA,
NA, NA, NA, NA, NA, NA, NA), 95 plus = c(164, 175, 187, 200,
212, 227, 246, 266, 287, 306, 329, 353, 378, 399, 418, 437, 463,
496, 525, 556, 591, 613, 637, 688, 751, 799, 862, 949, 1050,
1141, 1201, 1257, NA, NA, NA, NA, NA, NA, NA, NA, NA)), row.names = c(NA,
-41L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x000001bdbe2cd980>)
dput(GBD_Global_Male_n)
structure(c(93043051, 94268306, 95759256, 97232387, 98537287,
99705806, 100602318, 101142450, 101632780, 102215780, 102872463,
104632783, 108976980, 113617094, 119698966, 124457382, 130682818,
135039744, 139823654, 143980971, 149992829, 153719830, 156964546,
159344580, 161154059, 163038867, 165793001, 169919916, 175842535,
182762130, 182762130, 182762130, 201815692, 206601361, 210693372,
214199913, 217221379, 219850418, 221830980, 223114054, 224091194,
78582433, 80514976, 81866703, 82875171, 83720656, 84624687, 85780838,
87225997, 88700448, 90058840, 91317514, 92358741, 93098643, 93866641,
94780453, 95798771, 97802571, 102225917, 106814753, 112678386,
117207859, 123162462, 127323655, 131886413, 135881391, 141600527,
145138258, 148207293, 150455972, 152154700, 152154700, 152154700,
159643832, 164360454, 170415922, 177050929, 183527806, 189129815,
193703717, 197631922, 201010555, 57257722, 59237300, 61326597,
63537938, 65688819, 67588088, 69247094, 70443676, 71393752, 72281548,
73269647, 74510864, 76020423, 77550930, 78967415, 80308398, 81525355,
82523674, 83584798, 84740298, 85918716, 87905261, 92109942, 96448342,
101968199, 106195124, 111751389, 115651439, 119896101, 123616740,
123616740, 123616740, 134106956, 136485427, 138080905, 139536006,
141445323, 144363450, 148816292, 154492858, 160684866, 37521629,
38904451, 40541506, 42272391, 44037663, 45724486, 47414572, 49216261,
51141927, 53040951, 54747729, 56259904, 57408367, 58389851, 59383560,
60490627, 61806698, 63337574, 64872070, 66283675, 67624602, 68864015,
69887612, 70997503, 72229877, 73488507, 75424451, 79297104, 83211662,
88103639, 88103639, 88103639, 98976451, 102674777, 106289784,
109747005, 112969033, 115873958, 118071994, 119618808, 121062668,
25058066, 25244744, 25364818, 25490642, 25820611, 26601057, 27713405,
29010022, 30368941, 31774783, 33140441, 34505700, 35955728, 37500896,
39037202, 40466850, 41823120, 42969306, 44010268, 45070708, 46217423,
47489480, 48879204, 50250926, 51518756, 52748299, 53932742, 54955620,
56050131, 57205008, 57205008, 57205008, 63070495, 65887338, 69304567,
72986191, 76633291, 79981204, 83110621, 86208510, 89190788, 13181675,
13592663, 13979505, 14366923, 14706343, 14963386, 15128054, 15262256,
15413884, 15699619, 16293216, 17091067, 17990054, 18916750, 19888827,
20860627, 21848209, 22931304, 24087106, 25233924, 26332649, 27419346,
28374498, 29253875, 30114640, 31036712, 32067642, 33173558, 34247755,
35237747, 35237747, 35237747, 38581399, 39646049, 40712819, 41910212,
43330632, 45039820, 47234164, 49883422, 52722359, 4973059, 5206326,
5455660, 5672989, 5880676, 6087969, 6292907, 6498168, 6711233,
6911397, 7081336, 7213051, 7322478, 7438550, 7629027, 7986432,
8452891, 8985920, 9526895, 10087943, 10660891, 11220673, 11866164,
12558009, 13240491, 13904997, 14569116, 15159279, 15718009, 16283300,
16283300, 16283300, 18873835, 19476177, 20159693, 20901862, 21668243,
22422265, 23153424, 23924046, 24791067, 1242632, 1321739, 1398472,
1488680, 1582613, 1676247, 1760829, 1851604, 1934556, 2014727,
2096918, 2179830, 2263855, 2353772, 2447876, 2533149, 2602346,
2664654, 2727739, 2817863, 2978011, 3172441, 3388093, 3604137,
3834023, 4082991, 4348953, 4654254, 4984889, 5307884, 5307884,
5307884, 6656382, 6917171, 7263506, 7637916, 7994800, 8303510,
8624309, 9011040, 9432871, 254911, 268210, 282715, 297024, 312086,
330742, 354238, 377560, 405824, 436204, 468337, 498949, 529160,
556459, 583427, 612632, 643229, 679392, 720726, 764883, 806612,
840742, 871312, 900792, 935365, 989431, 1051230, 1121096, 1194139,
1276341, 1276341, 1276341, 1610667, 1724051, 1906532, 2085707,
2231577, 2335323, 2467722, 2654368, 2849935), dim = c(41L, 9L
), dimnames = list(NULL, c("55 to 59", "60 to 64", "65 to 69",
"70 to 74", "75 to 79", "80 to 84", "85 to 89", "90 to 94", "95 plus"
)))

Please install the reprex package and follow the instructions in

vignette("reprex-dos-and-donts", "reprex")

i installed reprex and tried.

vignette(EC_Male_incidence_n)
警告信息:
vignette ‘NA’ has no PDF/HTML
vignette(GBD_Global_Male_n)
警告信息:
没有找到小文品‘93043051’
vignette(APCList),错误于topic[1L]: 类别为'closure'的对象不可以取子集

The code you provided doesn’t run, so ee cant help you unless we spend a lot of time cleaning it up.Reprex is a great way to create a code example that runs on other prople’s systems. Load the reprex library and then read the documentation by running the vignettes. It will explain how to create a reproducible example. Once that works and you get the error you need help with, post the code it gavesyou.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.