Combineer veel instrumenten in één object
Eén aanpak is om gegevens te importeren in een nieuwe environment. Daarna kun je eapply() gebruiken om een functie aan te roepen op elk object in de environment, net zoals lapply() dat doet voor elk element van een lijst. Net als lapply() geeft eapply() een lijst terug.
Vervolgens kun je alle elementen van de lijst samenvoegen tot één object met do.call(), wat lijkt op R dat voor jou programmatiche een opdracht typt en uitvoert. In plaats van merge(my_list[[1]], my_list[[2]]], ...) te typen, kun je do.call(merge, my_list) gebruiken.
Deze oefening maakt deel uit van de cursus
Financiële gegevens importeren en beheren in R
Oefeninstructies
- Gebruik
eapply()omhead()aan te roepen op elk object indata_env. Ken het resultaat toe aandata_list. - Gebruik
do.call()enmerge()om alle elementen vandata_listte combineren tot één xts-object met de naamdata_merged. - Omdat objecten in een environment geen volgorde hebben, is er geen garantie voor de volgorde van de kolommen in
data_merged. GebruikOHLC()om ze te ordenen en sla de gegevens op indata_ohlc.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Call head on each object in data_env using eapply
data_list <- ___(data_env, ___)
# Merge all the data_list elements into one xts object
data_merged <- ___(___, data_list)
# Ensure the columns are ordered: open, high, low, close