9.4 break y next

break y next son palabras reservadas en R, no podemos asignarles nuevos valores y realizan una operación específica cuando aparecen en nuestro código.

break nos permite interrumpir un bucle, mientras que next nos deja avanzar a la siguiente iteración del bucle, “saltándose” la actual. Ambas funcionan para for y while.

9.4.1 Usando break

Para interrumpir un bucle con break, necesitamos que se cumpla una condición. Cuando esto ocurre, el bucle se detiene, aunque existan elementos a los cuales aún podría aplicarse.

Interrumpimos un for cuando i es igual a 3, aunque aún queden 7 elementos en el objeto.

for(i in 1:10) {
  if(i == 3) {
    break
  }
  print(i)
}
## [1] 1
## [1] 2

Interrumpimos un while antes de se cumpla la condición de que numero sea mayor a 5, en cuanto este tiene el valor de 15.

numero <- 20

while(numero > 5) {
  if(numero == 15) {
    break
  }
  numero <- numero - 1
}

numero
## [1] 15

Como habrás notado, la aplicación de break es muy similar a while, realizar una operación hasta que se cumple una condición, y ambos pueden usarse en conjunto.

9.4.2 Usando next

Por su parte, usamos next para “saltarnos” una iteración en un bucle. Cuando la condición se cumple, esa iteración es omitida.

for(i in 1:4) {
  if(i == 3) {
    next
  }
  print(i)
}
## [1] 1
## [1] 2
## [1] 4

Estas dos estructuras de control nos dan un control fino sobre nuestro código. aunque los dos ejemplos de arriba son con for, también funcionan con while y repeat.

En realidad, break es indispensable para repeat.