วิธีเขียนวงวนซ้ำใน r (3 ตัวอย่าง)


สามารถใช้ การวนซ้ำ ใน R เพื่อดำเนินการซ้ำๆ จนกว่าจะถึงเงื่อนไขการหยุด

คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเขียนลูปซ้ำใน R:

 repeat {
  #do something

  if (some condition){
  break
  }
}

ตัวอย่างต่อไปนี้แสดงวิธีใช้การวนซ้ำในสถานการณ์ต่างๆ

ตัวอย่างที่ 1: พิมพ์ค่าจนกว่าจะถึงจำนวนที่กำหนด

รหัสต่อไปนี้แสดงวิธีใช้การวนซ้ำเพื่อพิมพ์ค่าเริ่มต้นที่ 1 ถึง 10 :

 #define starting value
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  print (x)

  if (x >= 10){
  break
  }
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10

โค้ดนี้ทำงานอย่างไร:

  • เราตั้งค่าเริ่มต้นเป็น x = 0
  • เราบอกให้ R เพิ่มขึ้น x 1 จากนั้นพิมพ์ x
  • เราบอกให้ R ทำลาย วงวนซ้ำเมื่อ x มีค่าตั้งแต่ 10 ขึ้นไป

ตัวอย่างที่ 2: เพิ่มค่าให้กับเวกเตอร์จนกว่าจะถึงจำนวนเฉพาะ

รหัสต่อไปนี้แสดงวิธีใช้การวนซ้ำเพื่อเพิ่มค่าให้กับเวกเตอร์จนกว่าจะถึงจำนวนเฉพาะ:

 #define empty vector and starting value
data <-c()
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  data[x] <- x
print (data)
  
  if (x >= 5){
  break
  }
}

[1] 1
[1] 1 2
[1] 1 2 3
[1] 1 2 3 4
[1] 1 2 3 4 5

โค้ดนี้ทำงานอย่างไร:

  • เราสร้างเวกเตอร์เปล่าและตั้งค่าเริ่มต้นเป็น x = 0
  • เราบอกให้ R เพิ่มค่า x ขึ้น 1 จากนั้นใส่ค่า x ลงในตำแหน่ง x ของเวกเตอร์
  • เราบอกให้ R ทำลาย วงวนซ้ำเมื่อ x มีค่าตั้งแต่ 5 ขึ้นไป

ตัวอย่างที่ 3: เปลี่ยนค่าในกรอบข้อมูลจนกว่าจะถึงจำนวนที่กำหนด

รหัสต่อไปนี้แสดงวิธีใช้การวนซ้ำเพื่อแก้ไขค่าของกรอบข้อมูลที่มีอยู่จนกว่าจะถึงจำนวนเฉพาะ:

 #define data frame and starting value
df <- data. frame (A=c(6, 7, 2, 8),
                 B=c(2, 4, 5, 5))
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  df$A[x] <- x
  df$B[x] <- x * 2

  if (x >= nrow(df)){
  break
  }
}

#view resulting data frame
df

  AB
1 1 2
2 2 4
3 3 6
4 4 8

โค้ดนี้ทำงานอย่างไร:

  • เราสร้างกรอบข้อมูลว่างและตั้งค่าเริ่มต้นเป็น x = 0
  • เราบอกให้ R เพิ่มค่า x ขึ้น 1 จากนั้นใส่ค่า x ลงในตำแหน่ง x ของคอลัมน์ A และแทรกค่า x*2 ลงในตำแหน่ง x ของคอลัมน์ B
  • เราบอกให้ R ตัด การวนซ้ำเมื่อ x ถึงค่าเท่ากับหรือมากกว่าจำนวนแถวในกรอบข้อมูล

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีสร้าง For loop ที่ซ้อนกันใน R
วิธีเขียนคำสั่ง If Else แบบซ้อนใน R
วิธีวนซ้ำชื่อคอลัมน์ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *