library(scales)
library(sf)
library(tidyverse)
library(ggrepel)
library(ggsci)
library(patchwork)
library(readxl)
library(dplyr)

load("C:/Users/qun52/Desktop/code/GBD.Rdata")
#load("/Users/anderson/Desktop/big/2024/GBD/0718/new/Map204.Rdata")
source("help.R")







##计算Table1
# Load the data
df <- read.csv("C:/Users/qun52/Desktop/code/stomach cancer/1.csv", header = TRUE) %>% 
  filter(location_id %in% c(1, name_21, name_5))
dfpc <- read.csv("C:/Users/qun52/Desktop/code/stomach cancer/2.csv", header = TRUE) %>% 
  filter(year_start == 1990)

custom_order <- c("Global", "Low SDI", "Low-middle SDI", "Middle SDI", "High-middle SDI", "High 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")

# Select the first 13 columns from df
df1 <- df %>% select(1:13)

# Print counts for each column in df1
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------\n")
  print(table(df1[[col_name]]))
  cat("\n")
}

# Custom sorting function for metric_name
sort_metric_name <- function(data) {
  data %>%
    mutate(metric_sort = ifelse(grepl("Rate", metric_name), 2, 1)) %>%
    arrange(metric_sort, metric_name) %>%
    select(-metric_sort)
}

# Process each measure_name separately
for (i in unique(df$measure_name)) {
  print(i)
  
  # Process each cause_name separately within each measure_name
  for (j in unique(df$cause_name)) {
    print(j)
    
    # Filter and transform the data for current measure_name and cause_name
    df1_filtered <- df %>% 
      filter(sex_name == "Both", measure_name == i, cause_name == j, !metric_name == "Percent") %>% 
      mutate(yearsex = paste0(year, "-", sex_name),
             a = paste0(age_name, metric_name)) %>% 
      filter(!a %in% c("All agesRate")) %>% 
      mutate(num = sprintf("%.2f(%.2f-%.2f)",  val, lower, upper)) %>% 
      select(location_name, age_name, cause_name, metric_name, year, num) %>% 
      pivot_wider(names_from = year, values_from = num) %>%
      sort_metric_name()
    
    df11 <- df1_filtered  
    
    # Ensure no duplicated columns in df11 and df12
    dfx1 <- df11
    # Filter and transform the data for dfpc
    df2 <- dfpc %>% 
      filter(sex_name == "Both", measure_name == i, cause_name == j, !metric_name == "Percent") %>% 
      mutate(a = paste0(age_name, metric_name)) %>%
      filter(!a %in% c("All agesRate")) %>% 
      arrange(desc(val)) %>% 
      mutate(rank = row_number(),
             Change = sprintf("%.2f(%.2f-%.2f)", val, lower, upper)) %>% 
      select(location_name, cause_name, age_name, metric_name, Change) %>%
      sort_metric_name()
    
    # Check for presence of join columns
    cat("Columns in dfx1:\n")
    print(names(dfx1))
    cat("Columns in df2:\n")
    print(names(df2))
    # Perform the left join
    dfx <- left_join(dfx1, df2, by = c("location_name", "cause_name", "age_name", "metric_name"))
    dfx$location_name <- factor(dfx$location_name, levels = custom_order)
    dfx <- dfx %>%
      arrange(location_name)
    write.csv(dfx,paste0("Table1-",j,"-",i,".csv"))
  }
}









##绘制2021年map
df = read.csv("C:/Users/qun52/Desktop/code/stomach cancer/map.csv", header = TRUE)

# Select the first 13 columns
df1 = df %>% select(1:13)

# Print counts for each column
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------\n")
  print(table(df1[[col_name]]))
  cat("\n")
}

# Get unique cause names
xname = unique(df$cause_name)
print(xname)

# Loop through each cause name
for (xj in xname) {
  cat("Processing:", xj, "\n")
  
  df1 = df %>% 
    filter(cause_name == xj) %>% 
    filter(year == 2021) %>% 
    filter(age_name == "Age-standardized")
  # Loop through each unique measure name
  for (i in unique(df$measure_name)) {
    dfx = df1 %>%     
      filter(measure_name %in% i) %>%
      filter(sex_name == "Both") %>% 
      filter(metric_name == "Rate")
    
    cat("Processing measure:", i, "\n")
    
    # Check if dfx is empty after filtering
    if(nrow(dfx) == 0) {
      cat("No data for measure_name:", i, "after filtering\n")
      next
    }
    
    xa = mapfigure1(GBDdf27 = dfx, titlex = i, color_scheme = 1)
    print(xa)
    ggsave(paste0("./Map/2021map-", xj, "-", i, ".pdf"), width = 12, height = 10)
    write.csv(dfx, paste0("./Map/2021map-", xj, "-", i, ".csv"))
  }
}



##计算21regions EAPC
# Load necessary libraries
library(dplyr)
library(broom)

# Read the CSV file
df <- read.csv("C:/Users/qun52/Desktop/code/stomach cancer/21sdi.csv", header = TRUE)

# Define the custom order for location_name
custom_order <- c("Global", "Low SDI", "Low-middle SDI", "Middle SDI", "High-middle SDI", "High 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")

# Get unique cause names
xname <- unique(df$cause_name)

# Loop through each cause name
for (xj in xname) {
  df1 <- df %>%
    filter(cause_name == xj) %>%
    filter(year > 1989)
  
  # Loop through each measure name
  for (i in unique(df1$measure_name)) {
    dfx <- df1 %>%
      filter(measure_name %in% i) %>%
      filter(location_name %in% c(loc215)) %>%
      filter(sex_name == "Both") %>%
      filter(metric_name == "Rate") %>%
      filter(age_id == 27)
    
    print(xj)
    
    df_eapc <- dfx %>%
      group_by(location_name) %>%
      do(tidy(lm(log(val) ~ year, data = .), conf.int = TRUE)) %>%
      mutate(
        EAPC = round(100 * (exp(estimate) - 1), 2),
        lower_CI = round(100 * (exp(conf.low) - 1), 2),
        upper_CI = round(100 * (exp(conf.high) - 1), 2)
      ) %>%
      filter(term %in% "year") %>%
      ungroup() %>%
      select(location_name, EAPC,lower_CI,upper_CI) %>% 
      mutate("eapc95%UI"=paste0( EAPC,"(",lower_CI,",",upper_CI,")"))
    
    # Create directory if it does not exist
    dir_path <- "./EPAC/21地区EAPC"
    if (!dir.exists(dir_path)) {
      dir.create(dir_path, recursive = TRUE)
    }
    
    # Convert location_name to a factor with custom levels
    df_eapc$location_name <- factor(df_eapc$location_name, levels = custom_order)
    
    # Sort by location_name
    df_eapc <- df_eapc %>%
      arrange(location_name)
    
    # Write the CSV file
    write.csv(df_eapc, paste0(dir_path, "/21EPAC-", xj, "-", i, ".csv"), row.names = FALSE)
  }
}



##204地区与国家EPAC
df=read.csv("C:/Users/qun52/Desktop/code/stomach cancer/204eapc.csv",header = T)
xname=unique(df$cause_name)

for (xj in xname) {
  df1=df %>% filter(cause_name==xj) %>% 
    filter(year>1989)
  for (i in unique(df1$measure_name)) {
    dfx=df1 %>%  
      filter(measure_name %in% i) %>% 
      filter(sex_name=="Both") %>% 
      filter(metric_name=="Rate") %>% 
      filter(age_id==27)
    print(xj)
    
    library(broom)
    df_eapc <- dfx %>%
      group_by(location_name) %>%
      do(tidy(lm(log(val) ~ year, data = .),conf.int = TRUE)) %>%
      mutate(
        EAPC = 100 * (exp(estimate) - 1),
        lower_CI = 100 * (exp(conf.low) - 1),
        upper_CI = 100 * (exp(conf.high) - 1)
      ) %>%filter(term %in% "year") %>%  ungroup() %>% 
      select(location_name,EAPC) 
    
    xloc=dfx %>% filter(year==2021)  
    dfxp=df_eapc %>% left_join(.,xloc) %>% mutate(val=EAPC) 
    
    df95 <-  dfx %>%
      group_by(location_name) %>%
      do(tidy(lm(log(val) ~ year, data = .),conf.int = TRUE)) %>%
      mutate(
        EAPC = 100 * (exp(estimate) - 1),
        lower_CI = 100 * (exp(conf.low) - 1),
        upper_CI = 100 * (exp(conf.high) - 1)
      ) %>%filter(term %in% "year") %>%  ungroup() %>% 
      left_join(.,xloc) %>% 
      mutate(eapc95 = sprintf("%.2f(%.2f,%.2f)",EAPC,lower_CI,upper_CI)) %>% 
      select(1,9:11,13,16,18,20,22,27)
    
    
    xa=mapfigure1(GBDdf27 = dfxp,titlex = i,color_scheme = 1)
    xa
    ggsave(paste0("./204EPAC-map-",xj,"-",i,".pdf"),width = 12,height = 10)
    write.csv(df95,paste0("./204EPAC",xj,"-",i,".csv"))
  }
}












##global+5SDI trend 合一
df <- read.csv("C:/Users/qun52/Desktop/code/stomach cancer/trend.csv", header = TRUE)
df$measure_name <- gsub("DALYs \\(Disability-Adjusted Life Years\\)", "DALYs", df$measure_name)
df1 <- df %>% select(1:13)

for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------\n")
  print(table(df1[[col_name]]))
  cat("\n")
}

xnamae <- unique(df$cause_name)
for (i in unique(df$cause_name)) {
  print(i)
  
  dfx1 <- df %>% 
    filter(!location_id == 1) %>% 
    filter(year > 1989) %>% 
    filter(age_id == 27) %>% 
    filter(sex_name == "Both") %>% 
    filter(metric_name == "Rate") %>% 
    filter(cause_name == i) %>% 
    mutate(measure_name = factor(measure_name, levels = c("Incidence", "Prevalence", "DALYs", "Deaths")))
  write.csv(dfx1,paste0("./trend/Global-5-", i, ".csv"))
  
  ggplot(dfx1, aes(x = year, y = val, group = location_name)) +
    geom_ribbon(aes(ymin = lower, ymax = upper, fill = location_name), alpha = 0.2, show.legend = TRUE) + 
    geom_line(aes(color = location_name, linetype = location_name)) +
    facet_wrap(~ measure_name, scales = 'free', nrow = 1) +
    ggsci::scale_fill_d3() +
    theme_classic() +
    scale_y_continuous(labels = label_number(unit = "K")) +
    scale_x_continuous(breaks = c(1990, 1995, 2000, 2005, 2010, 2015, 2021), labels = c(1990, 1995, 2000, 2005, 2010, 2015, 2021)) +
    labs(x = "Year", y = "Age-standardised Rate", color = "Location", linetype = "Location") +
    guides(
      color = guide_legend(title = "Location"), 
      fill = guide_legend(title = "Location"), 
      linetype = guide_legend(title = "Location")) +
    theme(legend.position = "right",
          strip.background = element_blank())
  
  ggsave(paste0("./trend/Global-5-", i, ".pdf"), height = 6, width = 15)
}






##golbal + 5SDI trend
df=read.csv("C:/Users/qun52/Desktop/code/stomach cancer/trend.csv",header = T)
df$measure_name <- gsub("DALYs \\(Disability-Adjusted Life Years\\)", "DALYs", df$measure_name)
df1=df %>% select(1:13)
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------")
  print(table(df1[[col_name]]))
  cat("\n")
}

df$location_name <- factor(df$location_name, levels = c("Global", "High SDI", "High-middle SDI", "Middle SDI", "Low-middle SDI", "Low SDI"))
xname=unique(df$cause_name)
for (xj in xname) {
  df1=df %>% filter(cause_name==xj)
  
  for (i in unique(df$measure_name)) {
    dfx=df1 %>%     filter(measure_name %in% i) %>% 
      filter(year>1989) %>% 
      filter(age_id==27) %>% filter(metric_name=="Rate")
    ggplot(dfx, aes(x = year, y = val, group = sex_name)) +
      geom_ribbon(aes(ymin = lower, ymax = upper, fill = sex_name), alpha = 0.2, show.legend = T) + 
      geom_line(aes(color = sex_name, linetype = sex_name)) +
      facet_wrap(~ location_name, scales = 'free', nrow = 1) +
      theme_classic() +
      scale_y_continuous(labels = label_number(unit = "K"))  +
      scale_x_continuous(breaks = seq(min(dfx$year, na.rm = TRUE), max(dfx$year, na.rm = TRUE), by = 5)) + 
      labs(x = "Year", y = "Age-standardised Rate", color = "", linetype = "") +
      guides(color = guide_legend(title = ""), 
             fill = guide_legend(title = ""), 
             linetype = guide_legend(title = "")) +
      theme(strip.background = element_blank())
    ggsave(paste0("./Trend/2021Line trend-",xj,"-",i,".pdf"),width = 16,height = 6)
    write.csv(dfx,paste0("./Trend/2021Line trend-",xj,"-",i,".csv"))
  }
}




##age-group
df=read.csv("C:/Users/qun52/Desktop/code/stomach cancer/agesex.csv",header = T) %>% 
  mutate(measure_name=factor(measure_name,levels=c("Incidence","Prevalence","DALYs (Disability-Adjusted Life Years)","Deaths")))

df1=df %>% select(1:13)
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------")
  print(table(df1[[col_name]]))
  cat("\n")
}

xname=unique(df$cause_name)
for (xj in xname) {
  df1=df %>% 
    filter(cause_name==xj) %>% 
    filter(!sex_name=="Both") %>% 
    filter(metric_name %in% c("Rate","Number"))
  for (i in unique(df$measure_name)) {
    dfx=df1 %>% filter(measure_name==i) %>% 
      filter(age_id %in% c(1,6:20,30,31,32,235))
    xa=age_twofig(dfx=dfx,labx="Number of cases",color_scheme = 2)
    xa
    ggsave(paste0("./age-group/2021agegroup-",xj,"-",i,".pdf"),width = 12,height = 10)
    write.csv(dfx,paste0("./age-group/2021agegroup-",xj,"-",i,".csv"))
  }
  
}


##204sdi
df=read.csv("/Users/qun52/Desktop/code/stomach cancer/204sdi.csv",header = T)
df$measure_name <- gsub("DALYs \\(Disability-Adjusted Life Years\\)", "DALYs", df$measure_name)
df1=df %>% select(1:13)
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------")
  print(table(df1[[col_name]]))
  cat("\n")
}

xname=unique(df$cause_name)
for (xj in xname) {
  df1=df %>% filter(cause_name==xj) %>% 
    filter(sex_name=="Both") %>%
    filter(metric_name=="Rate") %>% 
    filter(year==2021)
  for (i in unique(df$measure_name)) {
    dfx=df1 %>% filter(measure_name==i)
    xa=SDI204fig(dfx=dfx,labx=i)
    xa$p
    ggsave(paste0("./SDI relation/204-",xj,"-",i,".pdf"),width = 12,height = 10)
    write.csv(dfx,paste0("./SDI relation/204-",xj,"-",i,".csv"))
    write.csv(xa$spearx,paste0("./SDI relation/204-",xj,"-",i,"Spearman-.csv"))
  }
  
}



##21sdi
df=read.csv("c:/Users/qun52/Desktop/code/stomach cancer/21sdi.csv",header = T)
df$measure_name <- gsub("DALYs \\(Disability-Adjusted Life Years\\)", "DALYs", df$measure_name)

df1=df %>% select(1:13)
for (col_name in names(df1)) {
  cat("Counts for", col_name, ":\n")
  cat("------------------------------------------------")
  print(table(df1[[col_name]]))
  cat("\n")
}

xname=unique(df$cause_name)

for (xj in xname) {
  df1=df %>% filter(cause_name==xj) %>% 
    filter(sex_name=="Both")
  for (i in unique(df$measure_name)) {
    dfx=df1 %>% filter(measure_name==i) %>%
      filter(age_name=="Age-standardized") %>% 
      filter(metric_name=="Rate")
    xa=SDI21fig(dfx=dfx,labx=i)
    xa$p
    ggsave(paste0("./SDI relation/21SDI-",xj,"-",i,".pdf"),width = 12,height = 10)
    write.csv(dfx,paste0("./SDI relation/21SDI-",xj,"-",i,".csv"))
    write.csv(xa$spearx,paste0("./SDI relation/21SDI-",xj,"-",i,"Spearman-.csv"))
  }
  
}











##risk loc215
df=read.csv("c:/Users/qun52/Desktop/code/stomach cancer/risk1.csv", header = TRUE)  # 读取CSV文件，并将其存储在数据框df中

xa=dfRisk88 %>% filter(level==3)  # 从数据框dfRisk88中筛选出level等于3的行，存储在xa中

dfx=df %>% 
  filter(year==2021) %>%  # 筛选year等于2021的行
  filter(location_id %in% c(1,name_5,name_21)) %>%  # 筛选location_id等于1或name_5和name_21的行
  filter(age_id %in% 27) %>%  # 筛选age_id等于27的行
  filter(metric_name=="Percent") %>%  # 筛选metric_name等于"Rate"的行
  filter(sex_name=="Both") %>%  # 筛选sex_name等于"Both"的行
  mutate(val=val*100) %>%  # 将val列中的值乘以100
  filter(rei_id %in% xa$rei_id) %>%  # 筛选rei_id在xa$rei_id中的行
  filter(val>0)  # 筛选val大于0的行

xj="loc215"  # 修改变量xj，赋值为"loc215"

library(ggplot2)
library(dplyr)

# 指定要排序的location_name列表
location_order <- c("Global", "Low SDI", "Low-middle SDI", "Middle SDI", "High-middle SDI", "High 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")

# Assuming dfx is already defined and pre-processed as in your original code
for (i in unique(dfx$measure_name)){
  dfx1 = dfx %>% 
    filter(measure_name == i) %>%
    mutate(location_name = factor(location_name, levels = rev(location_order)))  # 将location_name转换为因子，并按指定顺序排序
  
  ggplot(dfx1, aes(x = val, y = location_name, fill = rei_name)) +
    geom_bar(stat = "identity", position = position_dodge(width = 0.7), width = 0.7) +  # Use position_dodge to place bars side by side
    geom_text(aes(label = round(val, 2)), 
              position = position_dodge(width = 0.7), 
              vjust = 0.5, hjust = -0.3, size = 3) +  # Position the text on the bars
    theme_classic() +  # Use the classic theme for a clean look
    facet_wrap(~measure_name, scales = 'free_x') +  # Facet by measure_name, keeping scales free
    scale_fill_manual(values = c("blue", "red"), name = "Risk Factor") +  # Manually set colors if needed
    theme(
      axis.text.x = element_text(angle = 0, hjust = 1, size = 12),  # Customize x-axis text
      axis.text.y = element_text(size = 12),  # Customize y-axis text
      axis.title.x = element_text(size = 12),  # Customize x-axis title
      axis.title.y = element_text(size = 12),  # Customize y-axis title
      strip.text = element_text(size = 12),  # Customize facet label size
      strip.background = element_blank(),  # Remove background from facet labels
      legend.position = "top"  # Place legend at the top
    ) + 
    labs(x = "Proportion (%)", y = paste0("Location - ", i))  # Set axis labels
  
  ggsave(paste0("./Risk-PAF/global 2021 -", xj, "-", i, ".pdf"), width = 20, height = 12)  # Save the plot as a PDF
  write.csv(dfx1, paste0("./Risk-PAF/global 2021 -", xj, "-", i, ".csv"))  # Save the data frame as a CSV file
}













### Risk-- Trend
df=read.csv( "c:/Users/qun52/Desktop/code/stomach cancer/risk1.csv" ,header = T) 
xa=dfRisk88 %>% filter(level==3)

dfx=df %>% #filter(year==2021) %>% 
  filter(location_id %in% c(1,name_5)) %>% 
  filter(age_id %in% 27) %>% 
  filter(metric_name=="Percent") %>% 
  filter(sex_name=="Both") %>% 
  mutate(val=val*100) %>% 
  filter(rei_id %in% xa$rei_id) %>% filter(val>0)

xj="5SDI"
for (i in unique(dfx$measure_name)){
  dfx1=dfx %>% filter(measure_name==i)
  
  ggplot(dfx1, aes(x = year, y = val, color = rei_name)) +
    geom_line() + geom_point() +
    facet_wrap(~location_name, scales = "free") +
    theme_classic() +
    scale_x_continuous(breaks = seq(min(dfx$year), max(dfx$year), by = 5)) +
    ggsci::scale_fill_npg()+
    theme_classic() +
    theme(#legend.position = "Factor",
      axis.text.x = element_text(angle = 45, hjust = 1, size = 12),
      axis.text.y = element_text(size = 12),
      axis.title.x = element_text(size = 18),
      axis.title.y = element_text(size = 18),
      strip.text = element_text(size = 12),
      strip.background = element_blank()) +
    labs(x = "",color = "Factor",y = paste0("Proportion of ",i, "\n attributbale to risk factors (%)"))
  
  
  ggsave(paste0("./Risk/1990- 2021 Trend -",xj,"-",i,".pdf"),width = 12,height = 10)
  write.csv(dfx,paste0("./Risk/1990- 2021 Trend -",xj,"-",i,".csv"))
}




##risk--agegroup
library(ggplot2)
library(dplyr)
library(stringr)  # For str_wrap

df=read.csv("c:/Users/qun52/Desktop/code/stomach cancer/riskage.csv", header = T) 
xa=dfRisk88 %>% filter(level == 3)

dfx = df %>% 
  filter(year == 2021) %>% 
  filter(location_id %in% c(1)) %>% 
  filter(metric_name == "Percent") %>% 
  dplyr::filter(age_id %in% c(1, 5:20, 30, 31, 32, 235)) %>% 
  mutate(val = val * 100) %>% 
  filter(rei_id %in% xa$rei_id) %>% 
  filter(val > 0)

xj = "allage"
for (i in unique(dfx$measure_name)) {
  dfx1 = dfx %>% filter(measure_name == i)
  
  ggplot(dfx1, aes(x = val, y = age_name, fill = rei_name)) +
    geom_bar(stat = "identity", position = position_dodge(), color = "black") +
    geom_text(aes(x = val, y = age_name, label = round(val, 2)), vjust = -0.5, size = 3.5) +
    facet_wrap(~ str_wrap(rei_name, width = 20), scales = "free", nrow = 1) +  # Faceting by 'rei_name'
    coord_flip() + 
    ggsci::scale_fill_npg() +
    theme_classic() +
    theme(
      legend.position = "none",
      axis.text.x = element_text(angle = 45, hjust = 1, size = 10),  # Rotate and adjust x-axis labels
      axis.text.y = element_text(size = 12),
      axis.title.x = element_text(size = 18),
      axis.title.y = element_text(size = 18),
      strip.text = element_text(size = 12),
      strip.background = element_blank()
    ) +
    labs(x = "", fill = "", y = paste0("Proportion of ", i, "\n attributable to risk factors (%)"))
  
  ggsave(paste0("./Risk/2021 agegroup -", xj, "-", i, ".pdf"), width = 12, height = 10)
  write.csv(dfx1, paste0("./Risk/2021 agegroup  -", xj, "-", i, ".csv"))
}












