Цикълът е израз, който продължава да работи, докато условието не бъде изпълнено. Синтаксисът за цикъл while е следният:
while (condition) {Exp}
Забележка : Не забравяйте да напишете условие за затваряне в даден момент, в противен случай цикълът ще продължи безкрайно.
Пример 1:
Нека да разгледаме много прост пример, за да разберем концепцията на цикъл while. Ще създадете цикъл и след всяко изпълнение добавяте 1 към съхранената променлива. Трябва да затворите цикъла, затова изрично казваме на R да спре да се повтаря, когато променливата достигне 10.
Забележка : Ако искате да видите текущата стойност на цикъла, трябва да увиете променливата във функцията print ().
#Create a variable with value 1begin <- 1#Create the loopwhile (begin <= 10){#See which we arecat('This is loop number',begin)#add 1 to the variable begin after each loopbegin <- begin+1print(begin)}
Изход:
## 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 pricestock <- 50price <- 50# Loop variable counts the number of loopsloop <- 1# Set the while statementwhile (price > 45){# Create a random price between 40 and 60price <- stock + sample(-10:10, 1)# Count the number of looploop = loop +1# Print the number of loopprint(loop)}
Изход:
## [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)
Изход:
## it took 7 loop before we short the price.The lowest price is 40