R While Loop พร้อมตัวอย่างการเขียนโปรแกรม

ในขณะที่วนซ้ำในการเขียนโปรแกรม R

While loop ในการเขียนโปรแกรม R เป็นคำสั่งที่ทำงานต่อไปจนกว่าจะมีเงื่อนไขหลังจาก while block เป็นที่พอใจ

ในขณะที่ Loop Syntax ใน R

ต่อไปนี้คือรูปแบบไวยากรณ์สำหรับ While Loop ในการเขียนโปรแกรม R:

while (condition) {
     Exp	
}

R ในขณะที่ผังลำดับงานแบบวนซ้ำ

R ในขณะที่ผังลำดับงานแบบวนซ้ำ
R ในขณะที่ผังลำดับงานแบบวนซ้ำ

หมายเหตุ:โปรดจำไว้ว่าต้องเขียนเงื่อนไขการปิดที่จุดใดจุดหนึ่ง มิฉะนั้น วงจรจะดำเนินต่อไปอย่างไม่มีกำหนด

While Loop ในตัวอย่างการเขียนโปรแกรม R

1 ตัวอย่าง

มาดูเรื่องง่ายๆ กันดีกว่า การเขียนโปรแกรม R ตัวอย่างเพื่อทำความเข้าใจแนวคิดของ while loop คุณจะสร้างลูปและหลังจากการรันแต่ละครั้งให้เพิ่ม 1 ให้กับตัวแปรที่เก็บไว้ คุณต้องปิดลูป ดังนั้นเราจึงบอก R อย่างชัดเจนให้หยุดการวนซ้ำเมื่อตัวแปรถึง 10

หมายเหตุ: หากคุณต้องการดูค่าลูปปัจจุบัน คุณต้องล้อมตัวแปรไว้ภายในฟังก์ชัน print()

#Create a variable with value 1
begin <- 1

#Create the loop
while (begin <= 10){

#See which we are  
cat('This is loop number',begin)

#add 1 to the variable begin after each loop
begin <- begin+1
print(begin)
}

Output:

## This is loop number 1[1] 2
## This is loop number 2[1] 3
## This is loop number 3[1] 4
## This is loop number 4[1] 5
## This is loop number 5[1] 6
## This is loop number 6[1] 7
## This is loop number 7[1] 8
## This is loop number 8[1] 9
## This is loop number 9[1] 10
## This is loop number 10[1] 11

2 ตัวอย่าง

คุณซื้อหุ้นที่ราคา 50 ดอลลาร์ หากราคาลดลงต่ำกว่า 45 ดอลลาร์ เราต้องการขายชอร์ตหุ้นนั้น มิฉะนั้น เราจะเก็บหุ้นนั้นไว้ในพอร์ตโฟลิโอของเรา ราคาอาจผันผวนระหว่าง -10 ถึง +10 ประมาณ 50 ดอลลาร์หลังจากแต่ละรอบ คุณสามารถเขียนโค้ดดังต่อไปนี้:

set.seed(123)
# Set variable stock and price
stock <- 50
price <- 50

# Loop variable counts the number of loops 
loop <- 1

# Set the while statement
while (price > 45){

# Create a random price between 40 and 60
price <- stock + sample(-10:10, 1)

# Count the number of loop
loop = loop +1 

# Print the number of loop
print(loop)
}

Output:

## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
cat('it took',loop,'loop before we short the price. The lowest price is',price)

Output:

## it took 7 loop before we short the price. The lowest price is 40