R While Loop med programmeringsexempel
Medan Loop in R-programmering
En While loop i R-programmering är en sats som fortsätter att köras tills ett villkor efter while-blocket är uppfyllt.
Medan Loop Syntax i R
Följande är syntaxen för While Loop in R-programmering:
while (condition) { Exp }
R While Loop Flödesschema
Anmärkningar: Kom ihåg att skriva ett avslutande villkor någon gång annars kommer slingan att fortsätta på obestämd tid.
While Loop in R-programmeringsexempel
Exempelvis 1
Låt oss gå igenom en mycket enkel R-programmering exempel för att förstå begreppet while loop. Du kommer att skapa en loop och efter varje körning lägga till 1 till den lagrade variabeln. Du måste stänga loopen, därför säger vi uttryckligen till R att sluta loopa när variabeln nådde 10.
Anmärkningar: Om du vill se aktuellt loopvärde måste du linda variabeln inuti funktionen 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) }
Produktion:
## 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
Exempelvis 2
Du köpte en aktie till ett pris av 50 dollar. Om priset går under 45 vill vi korta det. Annars behåller vi det i vår portfölj. Priset kan variera mellan -10 till +10 runt 50 efter varje slinga. Du kan skriva koden enligt följande:
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) }
Produktion:
## [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)
Produktion:
## it took 7 loop before we short the price. The lowest price is 40