การคืนค่าแบบ invisible
เมื่อจุดประสงค์หลักของฟังก์ชันคือการสร้าง output เช่น การวาดกราฟหรือการแสดงผลในคอนโซล อาจไม่ต้องการให้ค่าที่ return ออกมาถูกพิมพ์ด้วย ในกรณีนี้ควรคืนค่าแบบ invisible
ฟังก์ชัน plot() ใน base R จะ return NULL เนื่องจากจุดประสงค์หลักคือการวาดกราฟ ซึ่งไม่เป็นประโยชน์หากต้องการใช้ใน piped code แทนที่ควรคืนข้อมูลของกราฟแบบ invisible เพื่อส่งต่อไปยังขั้นตอนถัดไป
ขอให้ระลึกว่า plot() มีอินเทอร์เฟซแบบ formula แทนที่จะส่ง vector สำหรับ x และ y สามารถระบุ formula ที่อธิบายว่าคอลัมน์ใดของ data frame จะอยู่บนแกน x และ y พร้อมกับ argument data สำหรับ data frame โดยเหมือนกับ lm() ลำดับของ argument จะสลับกัน เนื่องจาก argument รายละเอียด formula อยู่ก่อน argument data
plot(y ~ x, data = data)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Writing Functions in R
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Using cars, draw a scatter plot of dist vs. speed
plt_dist_vs_speed <- ___(___ ~ ___, data = ___)
# Oh no! The plot object is NULL
plt_dist_vs_speed