R mientras bucle


Bucles

Los bucles pueden ejecutar un bloque de código siempre que se alcance una condición específica.

Los bucles son útiles porque ahorran tiempo, reducen los errores y hacen que el código sea más legible.

R tiene dos comandos de bucle:

  • whilebucles
  • forbucles

R Mientras Bucles

Con el whilebucle podemos ejecutar un conjunto de declaraciones siempre que una condición sea VERDADERA:

Ejemplo

Imprimir isiempre que isea ​​inferior a 6:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

En el ejemplo anterior, el ciclo continuará produciendo números que van del 1 al 5. El ciclo se detendrá en 6 porque 6 < 6es FALSO.

El whileciclo requiere que las variables relevantes estén listas, en este ejemplo necesitamos definir una variable de indexación i, que establecemos en 1.

Nota: recuerda incrementar i, o de lo contrario el ciclo continuará para siempre.


Romper

Con la breakdeclaración, podemos detener el ciclo incluso si la condición while es VERDADERA:

Ejemplo

Salga del ciclo si ies igual a 4.

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

El ciclo se detendrá en 3 porque hemos elegido terminar el ciclo usando la breakinstrucción when ies igual a 4 ( i == 4).


próximo

Con la nextdeclaración, podemos omitir una iteración sin terminar el ciclo:

Ejemplo

Saltar el valor de 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

Cuando el ciclo pasa el valor 3, lo omitirá y continuará con el ciclo.


¡Yahtzee!

If .. Else combinado con un ciclo while

Para demostrar un ejemplo práctico, ¡digamos que jugamos un juego de Yahtzee!

Ejemplo

Imprimir "Yahtzee!" Si el número de dados es 6:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

Si el bucle pasa los valores que van del 1 al 5, imprime "No Yahtzee". Cada vez que pasa el valor 6, imprime "Yahtzee!".