Mientras bucle en R con ejemplo

Anonim

Un bucle es una declaración que se sigue ejecutando hasta que se cumple una condición. La sintaxis para un ciclo while es la siguiente:

while (condition) {Exp}

Mientras que el diagrama de flujo de bucle

Nota : Recuerde escribir una condición de cierre en algún momento, de lo contrario, el ciclo continuará indefinidamente.

Ejemplo 1:

Veamos un ejemplo muy simple para entender el concepto de bucle while. Creará un bucle y después de cada ejecución agregará 1 a la variable almacenada. Necesita cerrar el ciclo, por lo tanto, le decimos explícitamente a R que deje de hacerlo cuando la variable llegue a 10.

Nota : Si desea ver el valor del ciclo actual, debe envolver la variable dentro de la función 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)}

Producción:

## 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

Ejemplo 2:

Compraste una acción al precio de 50 dólares. Si el precio cae por debajo de 45, queremos acortarlo. De lo contrario, lo mantenemos en nuestra cartera. El precio puede fluctuar entre -10 y +10 alrededor de 50 después de cada bucle. Puede escribir el código de la siguiente manera:

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)}

Producción:

## [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)

Producción:

## it took 7 loop before we short the price.The lowest price is 40