
Generate and Save Age Pyramid Plot
generate_age_pyramid_plot.Rd
This function processes an input dataset to compute age distribution, generates age pyramid plots by region showing both proportions and counts, and saves the plots to a specified directory.
Usage
generate_age_pyramid_plot(
dataset,
country_code,
output_dir,
line_color = "#67000d",
fill_high = "#fee0d2",
fill_low = "#a50f15",
break_axis_by = 10,
caption = paste0("Note: Total population includes ",
"ages 99+, pyramid shows ages 0-99")
)
Arguments
- dataset
A list containing two data frames: - prop_df: Population proportions data frame - pop_df: Population counts data frame Each with columns for `country`, `region`, `district`, and columns ending with "mean"
- country_code
A string representing the country code (e.g., "ken").
- output_dir
A string specifying the directory where plots should be saved.
- line_color
A string specifying the color of the plot's lines. Default is `"#67000d"`.
- fill_high
A string specifying the fill color for high values. Default is `"#fee0d2"`.
- fill_low
A string specifying the fill color for low values. Default is `"#a50f15"`
- break_axis_by
break axis to show less cluttered age groups. Default is 10
- caption
A string specifying the caption text. Default is "Note: Total population includes ages 99+, pyramid shows ages 0-99"
Examples
# \donttest{
set.seed(123)
prop_df <- data.frame(
country = rep("COD", 10),
region = rep("RegionA", 10),
district = paste("District", 1:10),
popsize = runif(10, 2340, 28761),
`0-4_mean` = runif(10, 0.1, 0.5),
`5-9_mean` = runif(10, 0.05, 0.4),
`10-14_mean` = runif(10, 0.03, 0.3)
)
pop_df <- data.frame(
country = rep("COD", 10),
region = rep("RegionA", 10),
district = paste("District", 1:10),
popsize = runif(10, 2340, 28761),
`0-4_mean` = runif(10, 1000, 5000),
`5-9_mean` = runif(10, 800, 4500),
`10-14_mean` = runif(10, 700, 4000)
)
dataset <- list(prop_df = prop_df, pop_df = pop_df)
res <- generate_age_pyramid_plot(
dataset = dataset,
country_code = "COD",
output_dir = file.path(tempdir()))
#> ✔ Age pyramid count plot saved to /tmp/RtmpioKZmp/COD_age_pyramid_count.png
#> ✔ Age pyramid prop plot saved to /tmp/RtmpioKZmp/COD_age_pyramid_prop.png
# }