Jump to content

File:Countries by Military expenditures (% of GDP) in 2014 v2.svg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file (SVG file, nominally 512 × 288 pixels, file size: 1.52 MB)

Summary

Description
English: Based on the Worldbank data from http://data.worldbank.org/indicator/MS.MIL.XPND.GD.ZS This is an intentional duplicate of https://commons.wikimedia.org/wiki/File:Countries_by_Military_expenditures_(%25_of_GDP)_in_2014.svg created with freely available R packages (so that it can be recreated effortlessly).
Date
Source Created with R
Author Pipping

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Created with the following piece of code:

library(magrittr)

selectedYear <- 2014

getWorldBankData <- function(indicatorCode, indicatorName) {
    baseName <- paste('API', indicatorCode, 'DS2_en_csv_v2', sep='_')
    ## Download zipfile if necessary
    zipfile <- paste(baseName, 'zip', sep='.')
    if (!file.exists(zipfile)) {
        zipurl <- paste(paste('http://api.worldbank.org/v2/en/indicator',
                              indicatorCode, sep='/'),
                        'downloadformat=csv', sep='?')
        download.file(zipurl, zipfile)
    }
    csvfile <- paste(baseName, 'csv', sep='.')
    ## This produces a warning because of the trailing commas. Safe to ignore.
    readr::read_csv(unz(zipfile, csvfile), skip=4,
                    col_types = list(`Indicator Name` = readr::col_character(),
                                     `Indicator Code` = readr::col_character(),
                                     `Country Name` = readr::col_character(),
                                     `Country Code` = readr::col_character(),
                                     .default = readr::col_double())) %>%
        dplyr::select(-c(`Indicator Name`, `Indicator Code`, `Country Name`))
}

## Obtain and merge World Bank data
worldBankData <- getWorldBankData('MS.MIL.XPND.GD.ZS') %>%
    tidyr::gather(-`Country Code`, convert=TRUE,
                  key='Year', value=`Military expenditure (% of GDP)`,
                  na.rm = TRUE) %>%
    dplyr::filter(Year == selectedYear) %>%
    dplyr::mutate(Year = NULL)

## Plotting: Obtain Geographic data
mapData <- tibble::as.tibble(ggplot2::map_data("world")) %>%
    dplyr::mutate(`Country Code` =
                      countrycode::countrycode(region, "country.name", "iso3c"),
                  ## This produces a warning but I do not see how we could do better
                  ## since we started with fuzzy names.
                  region = NULL, subregion = NULL)

combinedData <- dplyr::left_join(mapData, worldBankData)

ggplot2::ggplot(data = combinedData, ggplot2::aes(long,lat)) +
    ggplot2::geom_polygon(ggplot2::aes(group = group,
                                       fill  = `Military expenditure (% of GDP)`),
                          color = '#606060', lwd=0.05) +
    ggplot2::scale_fill_gradientn(colours= rev(viridis::magma(256, alpha = 0.5)),
                                  name = "% GDP",
                                  breaks = 2*0:50,
                                  limits = c(0,14)) +
    ggplot2::coord_fixed() +
    ggplot2::theme_bw() +
    ggplot2::theme(plot.title = ggplot2::element_text(hjust = 0.5),
          axis.title = ggplot2::element_blank(),
          axis.text = ggplot2::element_blank(),
          axis.ticks = ggplot2::element_blank(),
          panel.grid.major = ggplot2::element_blank(),
          panel.grid.minor = ggplot2::element_blank(),
          panel.border = ggplot2::element_blank(),
          panel.background = ggplot2::element_blank()) +
    ggplot2::labs(title = paste("Countries by military expenditures in",
                                selectedYear))

ggplot2::ggsave(paste(selectedYear, 'militrary_expenditures_relative.svg', sep='_'),
                height=100, units='mm')

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

14 December 2016

image/svg+xml

f7974ad3d785da2b8619ad810d11b3b76efdd51b

1,588,898 byte

288 pixel

512 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current14:30, 20 May 2017Thumbnail for version as of 14:30, 20 May 2017512 × 288 (1.52 MB)Pippingredo with dplyr
20:27, 11 May 2017Thumbnail for version as of 20:27, 11 May 2017512 × 256 (1.51 MB)PippingRegenerated with new data (last update upstream: 2017-04-27).
19:07, 14 December 2016Thumbnail for version as of 19:07, 14 December 2016512 × 256 (1.51 MB)PippingFixed scale for easier comparison with data from different years
18:43, 14 December 2016Thumbnail for version as of 18:43, 14 December 2016512 × 256 (1.51 MB)PippingUse a more appropriate resolution (makes the font smaller in relation)
17:10, 14 December 2016Thumbnail for version as of 17:10, 14 December 2016512 × 271 (1.49 MB)Pipping{{subst:Upload marker added by en.wp UW}} {{Information |Description = {{en|Based on the Worldbank data from http://data.worldbank.org/indicator/MS.MIL.XPND.GD.ZS This is an intentional duplicate of https://commons.wikimedia.org/wiki/File:Countries_by...

Global file usage

Metadata