เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

จัดการค่าที่หายไป

ในบทที่ 3 คุณใช้ na.locf() เพื่อเติมค่าที่หายไปด้วยค่าก่อนหน้าที่ไม่ใช่ค่าว่าง แต่ในบางกรณีการนำค่าก่อนหน้ามาใช้อาจไม่เหมาะสม จึงสามารถใช้การอินเทอร์โพเลชันแทนได้ ในแบบฝึกหัดนี้ คุณจะได้สำรวจวิธีอินเทอร์โพเลชัน 2 แบบ ได้แก่ แบบเชิงเส้น (linear) และแบบสไปลน์ (spline)

การอินเทอร์โพเลชันแบบเชิงเส้นคำนวณค่าที่อยู่บนเส้นตรงระหว่างจุดข้อมูลที่ทราบอยู่แล้ว 2 จุด เหมาะสำหรับข้อมูลที่มีแนวโน้มค่อนข้างเป็นเส้นตรง เช่น อนุกรมที่มีเทรนด์ชัดเจน ส่วนการอินเทอร์โพเลชันแบบสไปลน์เหมาะกับอนุกรมที่ไม่มีเทรนด์ชัดเจน เพราะคำนวณค่าประมาณแบบไม่เชิงเส้นโดยใช้หลายจุดข้อมูล

นำทั้งสองวิธีมาอินเทอร์โพเลตค่าที่หายไป 3 ค่าของอัตราดอกเบี้ยพันธบัตรรัฐบาลอายุ 10 ปีในออบเจกต์ DGS10 จากนั้นเปรียบเทียบผลลัพธ์กับผลลัพธ์ของ na.locf()

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การนำเข้าและจัดการข้อมูลทางการเงินใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมคำสั่งให้ครบเพื่อใช้ na.approx() เติมค่าที่หายไปด้วยการอินเทอร์โพเลชันแบบเชิงเส้น
  • เติมคำสั่งให้ครบเพื่อใช้ na.spline() เติมค่าที่หายไปด้วยการอินเทอร์โพเลชันแบบสไปลน์
  • รวม locf, approx และ spline ให้เป็นออบเจกต์เดียวชื่อ na_filled
  • เติมคำสั่งให้ครบเพื่อพล็อตกราฟ na_filled

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# fill NA using last observation carried forward
locf <- na.locf(DGS10)

# fill NA using linear interpolation
approx <- ___(DGS10)

# fill NA using spline interpolation
spline <- ___(DGS10)

# merge into one object


# plot combined object
___(___, col = c("black", "red", "green"))
แก้ไขและรันโค้ด