Uzupełnianie brakujących wartości według dnia handlowego
W poprzednim ćwiczeniu ostatnia obserwacja z danego dnia była przenoszona jako pierwsza obserwacja kolejnego dnia. Teraz nauczysz się uzupełniać brakujące wartości według dnia handlowego – bez korzystania z końcowej wartości poprzedniego dnia.
Wykorzystasz ten sam schemat split-lapply-rbind z kursu Introduction to xts and zoo. Dla przypomnienia, wzorzec wygląda następująco:
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Zapamiętaj, że składnia do.call(rbind, ...) pozwala przekazać listę obiektów do funkcji rbind() bez konieczności wpisywania wszystkich ich nazw.
W twoim środowisku pracy znajduje się obiekt trade_day zawierający regularny szereg z poprzedniego ćwiczenia, ale bez żadnych uzupełnionych wartości NA.
To ćwiczenie jest częścią kursu
Importowanie i zarządzanie danymi finansowymi w R
Instrukcje do ćwiczenia
- Utwórz obiekt
daily_list, używając funkcjisplit(), aby podzielić danetrade_dayna listę zawierającą dane dla każdego dnia. - Użyj funkcji
lapply(), aby uzupełnić wartościNAdla danych każdego dnia na liściedaily_list. - Na koniec użyj funkcji
do.call()irbind(), aby przekształcićdaily_filledw pojedynczy obiekt xts o nazwiefilled_by_trade_day.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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, ___)