-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKG3_computations.R
67 lines (45 loc) · 2.42 KB
/
KG3_computations.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# KG3 - Kreislauf-Materialnutzungsquote ----------------------------------------------------
# Import data -------------------------------------------------------------
# Schritt 1 : hier werden die Daten eingelesen
ds <- create_dataset('KG3')
ds <- download_data(ds)
# Dieses Objekt dient als Grundlage zur Weiterverarbeitung
KG3_data <- ds$data
# Berechnungen -----------------------------------------------------
# Schritt 2 : Falls die zu publizierenden Werte noch berechnet werden müssen, können hier Aggregierungs- und Transformationsschritte vorgenommen werden.
# Beispiele :
# - neue Kategorien oder Totale bilden
# - Anteile berechnen
# - Umbenennung von Kategorien
# Beispiel : Fahrzeuge nach Treibstoff - dieser Block dient nur der Veranschaulichung ---------
KG3_computed <- KG3_data %>%
# Renaming of columns in preparation to bring data into a uniform structure
dplyr::rename("Wert" = "Rueckgewinnung") %>%
dplyr::mutate(Einheit = "Prozent (%)",
Gebiet = "Schweiz",
# prozent dezimal berechnen
Wert = Wert / 100)
# Die Voraussetzung für den letzten Schritt (3) ist ein Datensatz im long Format nach folgendem Beispiel:
# # A tibble: 216 × 5
# Jahr Gebiet Treibstoff_Typ Einheit Wert
# <chr> <chr> <chr> <chr> <dbl>
# 1 2005 Schweiz fossil Anzahl 306455
# 2 2005 Schweiz fossil Total 307161
# 3 2005 Schweiz fossil Anteil 0.998
# 4 2005 Schweiz fossil-free Anzahl 706
# 5 2005 Schweiz fossil-free Total 307161
# Harmonisierung Datenstruktur / Bezeichnungen ----------------------------------------------------------
# Schritt 3 : Hier werden die Daten in die finale Form gebracht
# - Angleichung der Spaltennamen / Kategorien und Einheitslabels an die Konvention
# - Anreicherung mit Metadaten aus der Datensatzliste
KG3_export_data <- KG3_computed %>%
dplyr::mutate(Indikator_ID = ds$dataset_id,
Indikator_Name = ds$indicator_name,
Datenquelle = ds$data_source,
Variable = ds$dataset_name) %>%
dplyr::select(Jahr, Gebiet, Indikator_ID, Indikator_Name, Variable, Wert, Einheit, Datenquelle)
# assign data to be exported back to the initial ds object -> ready to export
ds$export_data <- KG3_export_data
# Export CSV --------------------------------------------------------------
# Daten werden in den /output - Ordner geschrieben
export_data(ds)