จัดเรียงอนุกรมให้ตรงกับวันแรกและวันสุดท้ายของเดือน
บางครั้งอาจไม่สามารถใช้คลาสสะดวกอย่าง yearmon เพื่อแทน timestamp ได้ แบบฝึกหัดนี้จะสอนวิธีจัดเรียงข้อมูลที่ผสานแล้วให้ตรงกับรูปแบบ timestamp ที่ต้องการด้วยตนเอง
ขั้นแรกให้ผสานข้อมูลความถี่ต่ำกว่ากับข้อมูลที่รวบรวมแล้ว จากนั้นใช้ na.locf() เติมค่า NA ไปข้างหน้า (หรือข้างหลัง โดยใช้ fromLast = TRUE) แล้วจึง subset ผลลัพธ์โดยใช้ index ของออบเจ็กต์ที่มีรูปแบบ timestamp ที่ต้องการ
ใน workspace มี FEDFUNDS, monthly_fedfunds (ผลลัพธ์ของ apply.monthly(DFF, mean)), และ merged_fedfunds (ผลลัพธ์ของ merge(FEDFUNDS, monthly_fedfunds) ซึ่ง index ของ monthly_fedfunds เป็นแบบ Date) โดยให้สังเกตค่า NA ใน merged_fedfunds
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าและจัดการข้อมูลทางการเงินใน R
คำแนะนำการฝึกหัด
- ใช้
na.locf()เติมค่าNAในmerged_fedfundsแล้วกำหนดผลลัพธ์ให้กับmerged_fedfunds_locf - Subset
merged_fedfunds_locfด้วยindex(monthly_fedfunds)เพื่อสร้างออบเจ็กต์ xts ที่มี timestamp อยู่ที่สิ้นเดือน และตั้งชื่อผลลัพธ์ว่าaligned_last_day - ใช้อาร์กิวเมนต์
fromLastในna.locf()เพื่อเติมค่าNAด้วยข้อมูลการสังเกต ถัดไป แล้วกำหนดผลลัพธ์ให้กับmerged_fedfunds_locb - Subset
merged_fedfunds_locbด้วยindex(FEDFUNDS)เพื่อสร้างออบเจ็กต์ xts ที่มี timestamp อยู่ที่วันแรกของเดือน และตั้งชื่อผลลัพธ์ว่าaligned_first_day
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fill NA forward
merged_fedfunds_locf <- ___(___)
# Extract index values containing last day of month
aligned_last_day <- merged_fedfunds_locf[___]
# Fill NA backward
merged_fedfunds_locb <- na.locf(___, fromLast = ___)
# Extract index values containing first day of month
aligned_first_day <- merged_fedfunds_locb[___]