รวมหลาย instrument เข้าเป็น object เดียว
แนวทางหนึ่งคือการนำเข้าข้อมูลไปยัง environment ใหม่ จากนั้นใช้ eapply() เพื่อเรียกฟังก์ชันกับแต่ละ object ใน environment ซึ่งทำงานคล้ายกับที่ lapply() ทำกับแต่ละ element ของ list เช่นเดียวกับ lapply() ฟังก์ชัน eapply() จะคืนค่าเป็น list
จากนั้นสามารถรวม element ทั้งหมดใน list เข้าเป็น object เดียวได้โดยใช้ do.call() ซึ่งทำหน้าที่เหมือนให้ R พิมพ์และรันคำสั่งให้โดยอัตโนมัติ แทนที่จะพิมพ์ merge(my_list[[1]], my_list[[2]], ...) ด้วยตนเอง ก็เพียงพิมพ์ do.call(merge, my_list) แทนได้เลย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าและจัดการข้อมูลทางการเงินใน R
คำแนะนำการฝึกหัด
- ใช้
eapply()เพื่อเรียกhead()กับแต่ละ object ในdata_envแล้วกำหนดผลลัพธ์ให้กับdata_list - ใช้
do.call()และmerge()เพื่อรวม element ทั้งหมดในdata_listเข้าเป็น xts object เดียว โดยตั้งชื่อว่าdata_merged - เนื่องจาก object ใน environment ไม่มีลำดับที่แน่นอน จึงไม่มีการรับประกันว่าคอลัมน์ใน
data_mergedจะเรียงในลำดับใด ให้ใช้OHLC()เพื่อจัดเรียงคอลัมน์ แล้วเก็บข้อมูลไว้ในdata_ohlc
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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