【R】ドイツの地域別牛乳生産量
ドイツを含めたEUの国々の統計は、”Eurostat“というサイトにまとまってあります。
このサイトから、国・地域別の牛乳の生産量(Production of cow’s milk on farms by NUTS 2 regions (tgs00046))を取得し、そのうちドイツの生産量のみを抽出、ドイツ地方別にコロプレス図を描いてみます。
まず、こちらから
Data >
MAIN TABLES >
Regional statistics(t_reg) >
Regional agriculture statistics(t_reg_agr) >
Productionof cow’s milk on farms by NUTS2 region
のデータをTSV形式で保存します(tgs00046.tsv)。
EUの国々の地方は、NUTSという体系で分類されています。各国のNUTSの詳しい分類は、こちらのページにあります。
今回は、NUTS2で分類、表示しますが、このコードと地域名の一覧をあらかじめCSVファイルにまとめておきました。
http://www.dinov.tokyo/Data/World/NUTS2_Code_DE.csv
また、地図を描くシェープファイルは、DIVA-GISの”Spatial Data Download”から、Administrative areaのデータをとってきます。今回は、Germanyの地図(NUTS.2) DEU_adm2.shp です。カレントディレクトリに作った”DEU_adm”ディレクトリに入れておきます。
下記のコードで、2018年のドイツの地方の牛乳生産量を取得、表示できます。
library(tidyverse) require(data.table) library(ggplot2) library(sf) nuts <- read.csv("http://www.dinov.tokyo/Data/World/NUTS2_Code_DE.csv", header = TRUE, fileEncoding="UTF-8") milk_data<-as.data.frame(fread("tgs00046.tsv")) %>% separate(col = V1, into=c("x1", "x2", "Code"), sep=",", remove=TRUE, convert=FALSE) %>% left_join(., nuts, by="Code", copy=FALSE) %>% drop_na() %>% rename("NAME_2" = NUTS.2) map <- read_sf("DEU_adm/DEU_adm2.shp") map %>% left_join(., milk_data, by="NAME_2", copy=FALSE) %>% mutate("Milk_t"=as.numeric(V12)) %>% arrange(desc(Milk_t)) %>% ggplot() + geom_sf(aes(fill = Milk_t)) + coord_sf(datum = NA)
データが地域がないところもありますが。。。
もう少し見やすくしたり、表示を工夫すべきでしょうけど、最低限のことはできたので、満足です。