Birçok enstrümanı tek bir nesnede birleştir
Bir yaklaşım, veriyi yeni bir ortam içine aktarmayı içerir. Sonrasında, tıpkı lapply()'ın bir listenin her bir elemanı üzerinde çalışması gibi, eapply() ile ortam içindeki her nesne üzerinde bir fonksiyon çalıştırabilirsin. lapply() gibi, eapply() de bir liste döndürür.
Daha sonra listedeki tüm elemanları tek bir nesnede birleştirmek için, R'nin senin yerine programatik olarak bir komutu yazıp çalıştırmasına benzeyen do.call()'u kullanabilirsin. merge(my_list[[1]], my_list[[2]]], ...) yazmak yerine do.call(merge, my_list) yazabilirsin.
Bu egzersiz, kursun bir parçasıdır
R ile Finansal Verileri İçe Aktarma ve Yönetme
Egzersiz talimatları
eapply()kullanarakdata_enviçindeki her nesne üzerindehead()çağır. Sonucudata_listdeğişkenine ata.do.call()vemerge()kullanarakdata_listiçindeki tüm elemanlarıdata_mergedadlı tek bir xts nesnesinde birleştir.- Ortamdaki nesneler sıralı olmadığından,
data_mergedsütunlarının hangi sırada olacağı garanti değildir. Sütunları sıralamak içinOHLC()kullan ve veriyidata_ohlciçinde sakla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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