Menerapkan fungsi pada jendela rolling

Memanipulasi Data Deret Waktu di R

Harrison Brown

Graduate Researcher in Geography

Fungsi rolling dari zoo

zoo::roll*:

  • rollmean()
  • rollmax()
  • rollsum()
  • ...

Keterbatasan:

  • Tidak ada rollmin()!
  • Hanya fungsi tertentu yang tersedia
Memanipulasi Data Deret Waktu di R

rollapply

rollapply(data = ftse,
          width = 7,
          FUN = min,
          align = 'right',
          fill = NA)

Argumen:

  • data: Objek deret waktu
  • width: Lebar jendela (k)
  • FUN: Fungsi ringkasan (mean, max, ...)
  • align: Perataan jendela ('left', 'right', atau 'center')
  • fill: Nilai pengisi di luar jendela
Memanipulasi Data Deret Waktu di R

Menerapkan fungsi secara rolling

Tujuan:

  • Cari rentang nilai dalam jendela 30 hari
  • Perkirakan “variasi” data
daily_temp
2019-01-01 13.191304
2019-01-02  6.945833
2019-01-03  8.495833
2019-01-04  8.683333
2019-01-05  7.400000
...
find_range <- function(x){
  max(x) - min(x)
}
daily_temp_range <- 
  rollapply(
      daily_temp,
    FUN = find_range,
    width = 30,
    align = 'right',
    fill = NA
  )
Memanipulasi Data Deret Waktu di R

Menerapkan fungsi secara rolling

autoplot(daily_temp_range) + 
  theme_light() + 
  labs(y = 'Temperature Range')

Plot deret waktu 'rentang suhu harian'. Plot ini menunjukkan bagaimana rentang nilai berubah dari waktu ke waktu; rentang dihitung untuk jendela rolling 30 hari, dan selisih antara nilai minimum dan maksimum ditampilkan di plot.

Memanipulasi Data Deret Waktu di R

Ayo berlatih!

Memanipulasi Data Deret Waktu di R

Preparing Video For Download...