R While Loop programozási példákkal
Míg a ciklus az R programozásban
A While ciklus az R programozásban egy utasítás, amely addig fut, amíg a while blokk utáni feltétel teljesül.
Míg a ciklus szintaxisa az R-ben
Íme a While Loop in R programozás szintaxisa:
while (condition) { Exp }
R Míg hurok folyamatábra
Megjegyzések: Ne felejtsen el írni egy záró feltételt valamikor, különben a ciklus a végtelenségig folytatódik.
While Loop in R programozási példák
Példa 1
Menjünk végig egy nagyon egyszerűn R programozás példa a while ciklus fogalmának megértéséhez. Létrehoz egy hurkot, és minden futtatás után hozzáad 1-et a tárolt változóhoz. Be kell zárni a ciklust, ezért kifejezetten azt mondjuk R-nek, hogy hagyja abba a ciklust, ha a változó elérte a 10-et.
Megjegyzések: Ha az aktuális ciklusértéket szeretné látni, akkor a változót a print() függvénybe kell csomagolnia.
#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
Példa 2
50 dolláros áron vásárolt részvényt. Ha az ár 45 alá megy, akkor rövidre szeretnénk zárni. Ellenkező esetben a portfóliónkban tartjuk. Az ár -10 és +10 között ingadozhat 50 körül minden ciklus után. A kódot a következőképpen írhatja be:
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