R While Loop พร้อมตัวอย่างการเขียนโปรแกรม
ในขณะที่วนซ้ำในการเขียนโปรแกรม R
While loop ในการเขียนโปรแกรม R เป็นคำสั่งที่ทำงานต่อไปจนกว่าจะมีเงื่อนไขหลังจาก while block เป็นที่พอใจ
ในขณะที่ Loop Syntax ใน R
ต่อไปนี้คือรูปแบบไวยากรณ์สำหรับ While Loop ในการเขียนโปรแกรม R:
while (condition) { Exp }
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