Skip to content
demo.R 2.07 KiB
Newer Older
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
### Preparation ###
devtools::install_url("https://renkulab.io/gitlab/dscc/metadata-auto-r-library/-/archive/v002/metadata-auto-r-library-v002.tar.gz")
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
library(fso.metadata)
library(ggplot2)
library(tidyverse)
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
### 1. Get a codelist ###
# All languages
codelist <- get_codelist(identifier='CL_NOGA_SECTION')
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
head(codelist, 3)
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
codelist_fr <- get_codelist(identifier='CL_NOGA_SECTION', language='fr')
head(codelist_fr, 3)
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
### 2. Get a nomenclature of one level ###
# All language: Level 1
nomenclature <- get_nomenclature_one_level(
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
  identifier='HCL_CH_ISCO_19_PROF', 
  level_number=2
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
head(nomenclature, 3)

# French: Level 2
nomenclature_fr <- get_nomenclature_one_level(
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
  identifier='HCL_CH_ISCO_19_PROF', 
  level_number=1, 
  language='fr'
head(nomenclature_fr, 5)
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed

### 3. Get a nomenclature of multiple levels ###
# French
multi_nomenclature_fr <- get_nomenclature_multiple_levels(
  identifier='HCL_CH_ISCO_19_PROF', 
  level_from=1, 
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
  level_to=6, 
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed
head(multi_nomenclature_fr, 10)
Pauline Maury Laribière's avatar
Pauline Maury Laribière committed

### 4. Concrete example from Mr. van Nieuwkoop with Noga Data
load("data/pkagg.Rdata")
head(pk_agg$A88)

noga2 <- as_tibble(get_codelist(identifier='CL_NOGA_DIVISION', language='it'))
names(noga2) <- c('id', 'label', 'name')
head(noga2)

# Get the completely disaggregated production accounts
#  and join them with the noga2 descriptions
a88 <- pk_agg$A88 %>% 
  left_join(noga2, by = c("Code" = "id")) 

head(a88)

# Filter and prepare data
a88_filtered <- a88 %>% 
  select(-Beschreibung, -name) %>% 
  relocate(label, .after = Code) %>% 
  rename(Department = label, Year = Jahr, Component = Komponent) %>% 
  select(Code, Department, Component, Year, Nominal) %>% 
  filter( Nominal > 0) %>% 
  filter(!is.na(Department)) %>%        # keep 
  filter(Code %in% c("01","02", "03")) # keep first 3 department

# Plot the intermediate consumption (CI), the value added (VA), and the 
# production value (VP) for the section A (agriculture)
ggplot(a88_filtered, aes(Year, Nominal, color = Component)) + 
  geom_line() + 
  ylab("in Mio. CHF") +
  facet_wrap(~Department,  scales = "free")