วนลูปผ่าน vector
สุดท้ายในการพูดถึงลูป คือ for loop เมื่อรู้แน่ชัดว่าต้องการทำซ้ำกี่ครั้ง for loop คือตัวเลือกที่เหมาะสม แนวคิดของ for loop คือการก้าวผ่านลำดับ (sequence) ทีละขั้น แล้วดำเนินการบางอย่างในแต่ละขั้นนั้น sequence ที่ใช้มักเป็น vector ของตัวเลข (เช่น ลำดับจาก 1:10) แต่ก็อาจเป็นตัวเลขที่ไม่เรียงลำดับอย่าง c(2, 5, 4, 6) หรือแม้แต่ลำดับของตัวอักษรก็ได้!
for (value in sequence) {
code
}
ความหมายของโค้ดนี้คือ "สำหรับแต่ละค่าใน sequence ให้รันโค้ดนี้" ตัวอย่างเช่น "สำหรับแต่ละแถวใน data frame ให้พิมพ์คอลัมน์ที่ 1" หรือ "สำหรับแต่ละคำในประโยค ให้ตรวจสอบว่าคำนั้นคือ DataCamp หรือไม่"
มาลองทำตัวอย่างกัน! ขั้นแรก จะสร้างลูปที่พิมพ์ค่าในลำดับตั้งแต่ 1 ถึง 10 จากนั้นจะแก้ไขลูปนั้นให้รวมผลรวมของค่าตั้งแต่ 1 ถึง 10 ด้วย โดยในแต่ละรอบจะบวกค่าถัดไปใน sequence เข้ากับผลรวมสะสม
มีการกำหนด vector seq และตัวแปร sum ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
- กำหนดค่าใน for loop โดยใช้
seqเป็น sequence แล้วพิมพ์valueในแต่ละรอบของการวนลูป - ใช้ลูปเพื่อหาผลรวมของตัวเลขใน
seqโดยในแต่ละรอบให้บวกvalueเข้ากับsumแล้วพิมพ์sumออกมา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Sequence
seq <- c(1:10)
# Print loop
for (value in ___) {
print(___)
}
# A sum variable
sum <- 0
# Sum loop
for (value in seq) {
sum <- ___ + ___
print(___)
}