LoslegenKostenlos loslegen

Fehlende Daten ersetzen – I

Wie du in der vorherigen Übung gesehen hast, fehlen in deinen vierteljährlichen BIP-Daten mehrere Beobachtungen. Dein Aufruf von summary() hat dort sogar 80 fehlende Datenpunkte gezeigt!

Wie du dich aus dem ersten xts-Kurs erinnerst, stellen xts und zoo verschiedene Funktionen zur Behandlung fehlender Werte bereit.

Die einfachste Technik ist der Befehl na.locf(), der die letzte Beobachtung vor dem fehlenden Wert nach vorne fortschreibt (daher „last observation carried forward“, kurz locf). Dieser Ansatz ist oft sinnvoll, besonders wenn du beim Wachstum in deinen Daten eher konservativ vorgehen möchtest.

Ein ähnlicher Ansatz funktioniert in die entgegengesetzte Richtung, indem die erste Beobachtung nach dem fehlenden Wert rückwärts übertragen wird („next observation carried backward“, kurz nocb). Das lässt sich ebenfalls mit na.locf() umsetzen, indem du das Argument fromLast auf TRUE setzt.

Welche Methode am besten ist, hängt von der Art deiner Daten und deinen Annahmen darüber ab, wie sich die Werte im Zeitverlauf verändern.

Diese Übung ist Teil des Kurses

Fallstudie: Zeitreihendaten von Städten in R analysieren

Kurs anzeigen

Anleitung zur Übung

  • Verwende na.locf(), um die fehlenden Werte in gdp_xts basierend auf der letzten fortgeschriebenen Beobachtung zu füllen. Speichere dieses neue xts-Objekt als gdp_locf.
  • Verwende einen weiteren Aufruf von na.locf(), um fehlende Werte in gdp_xts basierend auf der nächsten Beobachtung, die rückwärts übertragen wird, zu füllen. Setze dafür das Argument fromLast auf TRUE. Speichere dieses neue xts-Objekt als gdp_nocb.
  • Plotte jedes dieser Objekte mit plot.xts(). Nutze den vorgegebenen par()-Befehl, um beide Plots gemeinsam anzuzeigen.
  • Frage in jedem Objekt (gdp_locf und gdp_nocb) das BIP für 1993 ab.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <- 

# Fill NAs in gdp_xts with the next observation carried backward 
gdp_nocb <- 

# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")

# Query for GDP in 1993 in both gdp_locf and gdp_nocb

Code bearbeiten und ausführen