Kết hợp nhiều instrument vào một đối tượng
Một cách làm là nhập dữ liệu vào một environment mới. Sau đó bạn có thể dùng eapply() để gọi một hàm cho từng đối tượng trong environment, tương tự như lapply() hoạt động với từng phần tử của list. Giống lapply(), eapply() cũng trả về một list.
Tiếp theo, bạn có thể gộp tất cả phần tử của list thành một đối tượng bằng do.call(), tức là để R tự động “gõ và chạy” lệnh cho bạn. Thay vì gõ merge(my_list[[1]], my_list[[2]]], ...), bạn chỉ cần gõ do.call(merge, my_list).
Bài tập này là một phần của khóa học
Nhập và quản lý dữ liệu tài chính trong R
Hướng dẫn bài tập
- Dùng
eapply()để gọihead()trên từng đối tượng trongdata_env. Gán kết quả chodata_list. - Dùng
do.call()vàmerge()để kết hợp tất cả phần tử củadata_listthành một đối tượng xts têndata_merged. - Vì các đối tượng trong một environment không có thứ tự, không có gì đảm bảo thứ tự các cột của
data_merged. Hãy dùngOHLC()để sắp xếp lại, và lưu dữ liệu vàodata_ohlc.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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