ÎncepețiÎncepe gratuit

Completează valorile lipsă pe zi de tranzacționare

Exercițiul anterior a propagat ultima observație a zilei precedente în prima observație a zilei următoare. Acest exercițiu îți va arăta cum să completezi valorile lipsă pe zi de tranzacționare, fără a folosi valoarea finală a zilei anterioare.

Vei folosi același paradigm split-lapply-rbind din cursul Introduction to xts and zoo. Ca referință, modelul este prezentat mai jos.

x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)

Reține că sintaxa do.call(rbind, ...) îți permite să transmiți o listă de obiecte funcției rbind(), fără a fi nevoie să le tastezi pe toate individual.

În spațiul tău de lucru există un obiect trade_day care conține seria regulată din exercițiul anterior, dar fără niciun NA completat.

Acest exercițiu face parte din cursul

Importul și gestionarea datelor financiare în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un obiect daily_list folosind split() pentru a împărți datele din trade_day într-o listă de date pentru fiecare zi.
  • Acum folosește lapply() pentru a completa valorile NA din datele fiecărei zile aflate în lista daily_list.
  • În final, folosește do.call() și rbind() pentru a converti daily_filled într-un singur obiect xts numit filled_by_trade_day.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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, ___)
Editează și rulează codul