Zwischen zoo und Data Frame konvertieren

Zeitreihen in R bearbeiten

Harrison Brown

Graduate Researcher in Geography

Zwischen Data Frame und zoo-Objekten konvertieren

Konzeptgrafik zur Umwandlung zwischen einem Data Frame und einer Zeitreihe in R. Links ein Modell eines Data Frames mit zwei Spalten: eine für zeitbasierte Daten und eine für die Variable „x". Rechts eine Zeitreihe als Diagramm. Auf der x‑Achse ein Uhrsymbol für die zeitbasierten Daten, auf der y‑Achse die Variable „x". Zwischen beiden eine Doppelpfeil-Verbindung.

Zeitreihen in R bearbeiten

data.frame versus zoo

data.frame:

  • Jede Variable als Spalte gespeichert
  • Index als Spalte gespeichert
    • z. B.: data$dates
  • nur geom_*():
ggplot(example_dataframe,
       aes(x = dates, y = values)) + 
  geom_line()

zoo:

  • Jede Variable als Matrixspalte gespeichert
  • Index als Attribut gespeichert
    • z. B.: index(data)
  • geom_*() und autoplot():
ggplot(maunaloa,
       aes(x = Index, y = maunaloa)) + 
  geom_line()
# Oder …
autoplot(maunaloa)
Zeitreihen in R bearbeiten

Data Frame zu zoo

head(prices)
        date       value
1 2013-01-01        4.88
2 2013-01-02        5.03
3 2013-01-03        5.11
4 2013-01-04        4.77
5 2013-01-05        5.04
6 2013-01-06        5.05

my_dataframe$my_column

prices_zoo <-
    zoo(x = prices$value,
        order.by = prices$date)
prices_zoo
2013-01-01 4.88
2013-01-02 5.03
2013-01-03 5.11
2013-01-04 4.77
2013-01-05 5.04
2013-01-06 5.05
Zeitreihen in R bearbeiten

Ein zoo-Objekt „fortifyen"

data_df <-
  data.frame(index(my_zoo),
             coredata(my_zoo))

zoo::fortify.zoo()

fortify.zoo(my_zoo)
  Index    var1   var2   var3   var4
1     1 1628.75 1678.1 1772.8 2443.6
2     2 1613.63 1688.5 1750.5 2460.2
3     3 1606.51 1678.6 1718.0 2448.2
4     4 1621.04 1684.1 1708.1 2470.4
5     5 1618.16 1686.6 1723.1 2484.7
6     6 1610.61 1671.6 1714.3 2466.8
...
Zeitreihen in R bearbeiten

Lass uns üben!

Zeitreihen in R bearbeiten

Preparing Video For Download...