# Apportion Export Category Data Based on Deliveries
# Import Data ---
export_category <- readr::read_csv("data/export_category.csv")
trade_register <- readr::read_csv("data/trade_register.csv")
country_lu <- readr::read_csv("data-raw/sipri_country_list.csv")
weapon_lu <- readr::read_csv("data-raw/weapon_system_lu.csv") |>
dplyr::rename(armament_category = Weapon_Category)
# Tidy ----
# Look-ups
supplier_country_lu <- country_lu |>
dplyr::rename(seller_country_code = country_code,
seller = country_label)
# Process Export Category
export_category_f <- export_category |>
dplyr::select(seller = Export_From,
armament_category = Weapon_Category,
year = Year,
tiv = TIV) |>
dplyr::filter(seller != "All") |>
dplyr::filter(year != "Total") |>
dplyr::filter(armament_category != "Total") |>
dplyr::mutate(year = as.numeric(year)) |>
dplyr::filter(year > 1991) |>
dplyr::left_join(supplier_country_lu, by = "seller") |>
dplyr::left_join(weapon_lu, by = "armament_category") |>
dplyr::select(5,6,1:4) |>
dplyr::mutate(armament_category_id = as.numeric(armament_category_id))
# Tidy Deliveries Data
deliveries <- trade_register |>
dplyr::select(seller_country_code, buyer_country_code, armament_category_id,
year, no_delivered) |>
dplyr::mutate(no_delivered = stringr::str_remove_all(no_delivered, "\\(|\\)")) |>
dplyr::mutate(no_delivered = as.numeric(no_delivered))
# Calculate Import TIV by Category Apportioning by Deliveries
export_import_category <- export_category_f |>
dplyr::left_join(deliveries, by = c("seller_country_code", "armament_category_id", "year")) |>
dplyr::distinct(seller_country_code, buyer_country_code, armament_category_id, tiv, year, no_delivered) |>
dplyr::select(seller_country_code, buyer_country_code, armament_category_id,
year, no_delivered, total_tiv = tiv) |>
dplyr::group_by(seller_country_code, year, armament_category_id) |>
dplyr::mutate(p_delivered = no_delivered/sum(no_delivered)) |>
dplyr::mutate(tiv = round(p_delivered * total_tiv,0)) |>
dplyr::select(-total_tiv, -p_delivered, -no_delivered) |>
dplyr::ungroup()
# Export
usethis::use_data(export_import_category, overwrite = TRUE)
write.csv(export_import_category, "data/export_import_category.csv", row.names = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.