R ในขณะที่วนรอบ


ลูป

ลูปสามารถรันบล็อกของโค้ดได้ตราบเท่าที่ถึงเงื่อนไขที่ระบุ

ลูปมีประโยชน์เพราะช่วยประหยัดเวลา ลดข้อผิดพลาด และทำให้โค้ดอ่านง่ายขึ้น

R มีสองคำสั่งวน:

  • whileลูป
  • forลูป

R ในขณะที่ลูป

ด้วยwhileลูปเราสามารถรันชุดคำสั่งได้ตราบใดที่เงื่อนไขเป็น TRUE:

ตัวอย่าง

พิมพ์iตราบเท่าที่iน้อยกว่า 6:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

ในตัวอย่างข้างต้น การวนซ้ำจะสร้างตัวเลขตั้งแต่ 1 ถึง 5 ต่อไป การวนซ้ำจะหยุดที่ 6 เนื่องจาก6 < 6เป็น FALSE

ลู ปwhileต้องการให้ตัวแปรที่เกี่ยวข้องพร้อม ในตัวอย่างนี้ เราต้องกำหนดตัวแปรการจัดทำดัชนีiซึ่งเราตั้งค่าเป็น 1

หมายเหตุ:อย่าลืมเพิ่ม i ไม่เช่นนั้นการวนซ้ำจะดำเนินต่อไปตลอดไป


หยุดพัก

ด้วยbreakคำสั่ง เราสามารถหยุดการวนซ้ำได้แม้ว่าเงื่อนไข while จะเป็น TRUE:

ตัวอย่าง

ออกจากลูปถ้าiเท่ากับ 4

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

การวนซ้ำจะหยุดที่ 3 เนื่องจากเราได้เลือกที่จะจบการวนซ้ำโดยใช้breakคำสั่งเมื่อiมีค่าเท่ากับ 4 ( i == 4)


ถัดไป

ด้วยnextคำสั่งนี้ เราสามารถข้ามการวนซ้ำได้โดยไม่ต้องสิ้นสุดการวนซ้ำ:

ตัวอย่าง

ข้ามค่าของ 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

เมื่อลูปผ่านค่า 3 มันจะข้ามและวนต่อไป


ยัทซี!

ถ้า .. อย่างอื่นรวมกับ while Loop

เพื่อแสดงให้เห็นตัวอย่างที่ใช้งานได้จริง ให้เราบอกว่าเราเล่นเกมของ Yahtzee!

ตัวอย่าง

พิมพ์ "ยัทซี!" ถ้าเลขลูกเต๋าคือ 6:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

หากลูปส่งผ่านค่าตั้งแต่ 1 ถึง 5 ระบบจะพิมพ์ว่า "No Yahtzee" เมื่อใดก็ตามที่ผ่านค่า 6 จะพิมพ์ "Yahtzee!"