Direkt zum Inhalt springen

Paket laden

mvwizr kann, nachdem es einmal installiert wurde, ganz einfach geladen werden. Dabei wird auch die Versionsnummer angezeigt (ab v1.2). Es lohnt sich, die Neuigkeiten zum Paket zu verfolgen und auf neue Versionen zu aktualisieren, um von Fehlerbehebungen und neuen Funktionen zu profitieren.

library(mvwizr)
#> mvwizr geladen: v1.4.0

Daten einlesen und Verarbeiten

mvwizr unterscheidet grob zwischen zwei Arten von Daten respektive Dataframes, die von den Funktionen im Paket verwendet werden:

MV-Daten

Output der Funktionen einlesen_nawa(), batch_einlesen_nawa() und einlesen_mv_gbl. Es handelt sich hierbei um MV-Daten, die mit über den BAFU-Datenaustausch-Schlüssel und die VSA Substanz-Tabelle mit der VSA Substanz-ID verknüpft werden. Substanzen, die nicht verknüpft werden können, werden entfernt (mit Warnung). Duplikate werden ebenfalls entfernt. Falls Bestimmungsgrenzen vorhanden sind, so wird (pro Datensatz und Substanz) die minimale und maximale Bestimmungsgrenze bestimmt. Alle Einheiten von Mikroverunreinigungen werden automatisch auf µg/l normalisiert.

Beispiel:

nawa_mv_pfad <- system.file("extdata", "NAWA_ohne_bSaP_Bsp.xlsx", package = "mvwizr")

# Falls kein Pfad zu VSA- und BAFU-Tabellen angegeben wird, verwendet das Paket die gebundelte Version.
mv_df_bsp <- einlesen_nawa(nawa_mv_pfad)
#> Warning: ! VSA-Lookup: 2 mehrfache Bezeichnungen (VSA Parameter-ID) pro Substanz_ID
#>   gefunden. Verwende tiefere Substanz_ID.
#>  Betroffen: 8_2-FTCA, SiO2
#>  Lese MV-Daten von Excel-Datei /home/runner/work/_temp/Library/mvwizr/extdata/NAWA_ohne_bSaP_Bsp.xlsx ein.
#>  Versuche Start des Tabellen-Headers der Datei /home/runner/work/_temp/Library/mvwizr/extdata/NAWA_ohne_bSaP_Bsp.xlsx zu erraten.
#>  Erkannter Header-Start: Zeile 8.
#>  Versuche Sprache der Datei /home/runner/work/_temp/Library/mvwizr/extdata/NAWA_ohne_bSaP_Bsp.xlsx zu erraten.
#>  Erkannte Sprache: DE.
#>  Versuche Parameter-Feld der Datei /home/runner/work/_temp/Library/mvwizr/extdata/NAWA_ohne_bSaP_Bsp.xlsx zu erraten.
#>  Erkannter Parameter: BAFU_Parameter_ID.
#> ! Bestimmungsgrenzen wurden nicht als Zahlen eingelesen - versuche Typenkonvertierung.
#>  Normalisiere Einheiten der MV-Daten auf µg/l.
#>  Max./min. Bestimmungsgrenzen der MV-Daten bestimmen...

nrow(mv_df_bsp)
#> [1] 131

RQ-Ue-Daten

Output der Funktion berechne_rq_ue: Enthält Überschreitungen (gemäss GSchV) und Risikoquotienten nur für Substanzen, falls es für diese ein Qualitätskriterium der Stufe 1 oder 2 gibt gemäss Liste Qualitätskriterien Ökotoxzentrum - alle anderen Messungen werden herausgefiltert! Beispiel:

rq_ue_df_bsp <- berechne_rq_ue(mv_df_bsp)

nrow(rq_ue_df_bsp)
#> [1] 131

Daten plotten

Die Plotfunktionen verlangen entweder nach den MV-Daten oder nach den RQ-Ue-Daten (siehe oben): Alle Plotfunktionen, die nur MV-Daten plotten ohne Bewertung, benötigen nur die MV-Daten. Alle Plotfunktionen, die GSchV-Überschreitungen feststellen oder eine Ökotoxizität (oder Mischtoxizität) bewerten, benutzen die RQ-Ue-Daten. Im Folgenden werden einige Beispielgrafiken, die mit mvwizr produziert wurden, gezeigt. Es handelt sich dabei nur um eine Auswahl.

MV-Daten-Plots

Verlaufsgrafiken für Mischproben

Wir können den Verlauf für einzelne Substanzen für einzelne Stationen inklusive der minimalen und maximalen oder der effektiven Bestimmungsgrenzen (falls vorhanden) plotten. Dafür gibt es verschiedene Darstellungsarten; z.B. mittels Barplot:

# Standardmässig mit minimaler und maximaler Bestimmungsgrenze geplottet
plot_misch_verlauf(mvdaten_beispiel_mvwizr, regulierungen_mvwizr, stationscode = "URT010", plot_typ = "barplot", id_substanz = 71)

# Plot mit effektiver Bestimmungsgrenze
plot_misch_verlauf(mv_df_bsp, stationscode = "101099", plot_typ = "barplot", id_substanz = 71, bg_typ = "effektiv")

Andererseits ist auch die Darstellung von Summen möglich (z.B. aller Pestizide hier). Falls dafür der “Treppen”-Plot ausgewählt wird, muss sichergestellt werden, dass es keine überlappenden Intervalle gibt, da eine Visualisierung mit Linien sonst nicht möglich ist:

plot_misch_verlauf(mvdaten_beispiel_mvwizr, regulierungen_mvwizr, stationscode = "URT010", plot_typ = "treppen", zulassungstyp = "[BP]")

Bei der Summendarstellung mit Barplots kann schliesslich auch die Verteilung pro (arbiträrer) Kategorie gezeigt werden, wobei der Name der Variable für die Kategorie angegeben werden muss (hier “PARAMETERGRUPPE”):

plot_misch_verlauf(mvdaten_beispiel_mvwizr, regulierungen_mvwizr, "URT010",
  plot_typ = "barplot_gruppen",
  zulassungstyp = "Alle", plot_parametergruppe = "PARAMETERGRUPPE"
)

RQ-Ue-Daten-Plots

Überschreitungsgrafiken

mvwizr bietet auch verschiedene Grafiken an, um (kurzzeitige oder andauernde) Überschreitungen der GSchV-Grenzwerte zu visualisieren. Andauernde Überschreitungen werden anhand von Zweiwochenmischkonzentrationen beurteilt (Proben ab 13 Tagen bzw. auf 14 Tage hochgerechnete 10-13-Tage-Proben). Im folgenden Beispiel werden andauernde Überschreitungen pro Substanz für die Station “URT010” in den Jahren 2019 bis 2020 ausgewertet.

plot_misch_ue(rq_ue_beispiel_mvwizr, stationscode = "URT010", plot_typ = "andauernd", jahr = c(2019, 2020))
#> Warning: Removed 1 row containing missing values or values outside the scale range
#> (`geom_vline()`).
#> Removed 1 row containing missing values or values outside the scale range
#> (`geom_vline()`).

Auch summierte Grafiken (ohne Aufschlüsselung nach Substanz) sind möglich; im Folgenden eine Zeitreihe für die Überschreitung von akuten Qualitätskriterien:

plot_misch_ue_qk(rq_ue_beispiel_mvwizr, qk = "akut", detailliert = FALSE)

Ökotoxgrafiken

Die Ökotoxgrafiken zeigen Einzel- und Mischungstoxizitäten auf und werden für die Beurteilung gemäss MSK benötigt. Im folgenden Beispiel ist die Stationsübersicht Ökotoxikologie für andauernde Belastungen abgebildet.

plot_misch_oekotox_uebersicht(rq_ue_beispiel_mvwizr, stationscode = "URT010", jahr = 2020)

Der Verlauf von Mischungstoxizitäten kann auch einzeln visualisiert werden:

plot_misch_mixtox_verlauf(rq_ue_beispiel_mvwizr, modus = "andauernd")

Neu (ab mvwizr v1.2) ist auch die Anzeige der Akkumulation (Secondary toxicity) möglich (bei allen Plot-Funktionen mit Anzeige der Mischungstoxizität):

plot_misch_mixtox_verlauf(rq_ue_beispiel_mvwizr, modus = "andauernd", optin_mischtox_S = TRUE)

Schliesslich sind auch Zeitreihen der Häufigkeitsverteilung der verschiedenen Ökotox-Bewertungen möglich (folgend für kurzzeitige Verunreinigungen für die Station URT010):

plot_misch_mixtox_haeufigkeit(rq_ue_beispiel_mvwizr, stationscode = "URT010", modus = "kurzzeitig")

Stichproben

Stichproben können mittels Raster-Darstellung pro Station dargestellt werden, um rasch explorativ wichtige Substanzen zu identifizieren:

plot_stich_uebersicht(mvdaten_beispiel_mvwizr, stationscode = "SA51")

Einige Plotfunktionen, die für Mischproben konzipiert sind, akzeptieren auch Stichproben (siehe Hilfetexte der Funktionen).