Kombinera flera instrument till ett objekt
Ett vanligt tillvägagångssätt är att importera data till en ny miljö. Sedan kan du använda eapply() för att anropa en funktion på varje objekt i miljön – ungefär som lapply() gör för varje element i en lista. Precis som lapply() returnerar eapply() en lista.
Därefter kan du slå samman alla element i listan till ett objekt med hjälp av do.call(), vilket är som att låta R skriva och köra ett kommando åt dig. I stället för att skriva merge(my_list[[1]], my_list[[2]], ...) kan du skriva do.call(merge, my_list).
Den här övningen är en del av kursen
Importera och hantera finansiella data i R
Övningsinstruktioner
- Använd
eapply()för att anropahead()på varje objekt idata_env. Tilldela resultatet tilldata_list. - Använd
do.call()ochmerge()för att kombinera alla element idata_listtill ett xts-objekt med namnetdata_merged. - Eftersom objekt i en miljö inte är ordnade finns det ingen garanti för i vilken ordning kolumnerna i
data_mergedhamnar. AnvändOHLC()för att ordna dem, och lagra datan idata_ohlc.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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