Obiekty szeregów czasowych z pakietem zoo

Manipulowanie danymi szeregów czasowych w R

Harrison Brown

Graduate Researcher in Geography

Pakiet zoo

zoo

  • Dostarcza klasę obiektów zoo
  • Funkcje do manipulowania i wizualizacji szeregów czasowych
Manipulowanie danymi szeregów czasowych w R

zoo a base R

base R:

  • Klasa stats::ts
  • Tylko równe odstępy czasu
  • Tworzenie ramek danych bywa uciążliwe

zoo:

  • Klasa zoo
  • Regularne lub nieregularne odstępy
  • Metody konwersji do ramki danych
Manipulowanie danymi szeregów czasowych w R

Tworzenie obiektu zoo

sample_values
[1] 4.224 5.495 6.156
[4] 6.397 6.291 6.262
...
sample_dates
[1] "2022-01-20" "2022-01-21"
[3] "2022-01-22" "2022-01-23"
[5] "2022-01-24" "2022-01-25"
...
Manipulowanie danymi szeregów czasowych w R

Tworzenie obiektu zoo

library(zoo)
my_zoo <- zoo(x = sample_values,
              order.by = sample_dates)
my_zoo
2022-01-20 4.224
2022-01-21 5.495
2022-01-22 6.156
2022-01-23 6.397
2022-01-24 6.291
2022-01-25 6.262
...
Manipulowanie danymi szeregów czasowych w R

Konwersja z ts do zoo

class(AirPassengers)
[1] "ts"
AP_zoo <- zoo::as.zoo(AirPassengers)
class(AP_zoo)
[1] "zoo"
Manipulowanie danymi szeregów czasowych w R

zoo a ts

print(AirPassengers)
     Jan Feb Mar Apr May Jun Jul ...
1949 112 118 132 129 121 135 148 ...
1950 115 126 141 135 125 149 170 ...
1951 145 150 178 163 172 178 199 ...
1952 171 180 193 181 183 218 230 ...
1953 196 196 236 235 229 243 264 ...
...
print(AP_zoo)
Jan 1949 112
Feb 1949 118
Mar 1949 132
Apr 1949 129
May 1949 121
Jun 1949 135
Jul 1949 148
Aug 1949 148
Sep 1949 136
...
Manipulowanie danymi szeregów czasowych w R

zoo i ggplot2

library(ggplot2)

ggplot(data = my_zoo,
       aes(x = Index, y = my_zoo)) +

geom_line(color = "blue", size = 2, linetype = "dotted") +
scale_y_continuous() +
theme_bw() + labs(x = "Index", y = "Value", title = "Plotting a zoo Object")
Manipulowanie danymi szeregów czasowych w R

zoo i ggplot2

Wykres szeregu czasowego 'my_zoo'. Ilustruje możliwość dodawania elementów wizualnych z pakietu ggplot2 — podobnie jak przy wykresach ramek danych — takich jak etykiety osi, tytuł, motywy, kolory itp.

Manipulowanie danymi szeregów czasowych w R

Czas na ćwiczenia!

Manipulowanie danymi szeregów czasowych w R

Preparing Video For Download...