【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) 

データが地域がないところもありますが。。。

もう少し見やすくしたり、表示を工夫すべきでしょうけど、最低限のことはできたので、満足です。

Add a Comment

メールアドレスが公開されることはありません。