โค้ดแบบ Vectorized: การคูณ
โค้ดด้านล่างนี้เขียนในแบบของภาษา C หรือ Fortran แบบดั้งเดิม โดยใช้ลูป for แทนที่จะใช้การคูณแบบ vectorized
x <- rnorm(10)
x2 <- numeric(length(x))
for(i in 1:10)
x2[i] <- x[i] * x[i]
โจทย์ของคุณคือปรับโค้ดนี้ให้เป็น "สไตล์ R" มากขึ้นด้วยการทำให้เป็น vectorized โดยมีตัวแปร x พร้อมให้ใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียน R Code อย่างมีประสิทธิภาพ
คำแนะนำการฝึกหัด
- อ่านโค้ดตัวอย่างด้านบนให้เข้าใจว่ามันคำนวณอะไร
- เขียนโค้ดนั้นใหม่โดยใช้วิธี vectorized คำใบ้:
- คำตอบควรเป็นโค้ด บรรทัดเดียว เท่านั้น
- ไม่ควรใช้ลูป
for - ตัวดำเนินการคูณรองรับ vectorized อยู่แล้ว!
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Store your answer as x2_imp
x2_imp <-