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
R ile Finansal Verileri İçe Aktarma ve Yönetme
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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