Цикл R While із прикладами програмування
Цикл While в програмуванні R
Цикл While у програмуванні на R — це оператор, який продовжує працювати, доки не буде виконано умову після блоку while.
Синтаксис циклу While в R
Нижче наведено синтаксис циклу While у програмуванні R:
while (condition) {
Exp
}
Блок-схема циклу R While

Примітка:: не забудьте написати умову закриття в якийсь момент, інакше цикл триватиме нескінченно.
Приклади програмування циклу в R
Приклад 1
Давайте розберемося дуже просто R програмування приклад для розуміння концепції циклу while. Ви створите цикл і після кожного запуску додаватимете 1 до збереженої змінної. Вам потрібно замкнути цикл, тому ми явно наказуємо R зупинити loo.ping коли змінна досягла значення 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)
}
вихід:
## 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)
}
вихід:
## [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
