Doplnění chybějících hodnot podle obchodního dne
V předchozím cvičení se poslední pozorování předchozího dne přeneslo jako první pozorování dne následujícího. V tomto cvičení si ukážeme, jak doplnit chybějící hodnoty podle obchodního dne, aniž bychom použili závěrečnou hodnotu předchozího dne.
Použijeme vzor split-lapply-rbind z kurzu Introduction to xts and zoo. Pro připomenutí, vzor vypadá takto:
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Pamatuj, že syntaxe do.call(rbind, ...) ti umožňuje předat funkci rbind() celý seznam objektů, místo abys musel/a vypisovat každý název zvlášť.
V pracovním prostředí máš k dispozici objekt trade_day, který obsahuje pravidelnou časovou řadu z předchozího cvičení, ale bez vyplněných hodnot NA.
Toto cvičení je součástí kurzu
Importing and Managing Financial Data in R
Pokyny k cvičení
- Vytvoř objekt
daily_listpomocí funkcesplit()tak, aby data ztrade_daybyla rozdělena do seznamu podle jednotlivých dní. - Pomocí
lapply()doplň hodnotyNAv datech každého dne v seznamudaily_list. - Nakonec pomocí
do.call()arbind()převeďdaily_filledna jeden xts objekt s názvemfilled_by_trade_day.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Split trade_day into days
daily_list <- split(___ , f = "___")
# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)
# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)