2012-02-14 13 views
16

No parece haber ningún ejemplo de 'siguiente' uso en el control flow help page. Me gustaría saltar a la próxima iteración en función de una condición dentro del guión.Uso de Next en un flujo de control

Utilizando el siguiente ejemplo, vamos a decir que no lo quiero para imprimir, a menos que x[i] > 5, la salida esperada sería de 5 a 10 en la pantalla:

x <- 1:100 
for(i in 1:10) { 
# next(x[i] < 5) # Just for conceptualizing my question. 
print(x[i]) 
} 

¿Cómo hago para implementar el uso de next para lograr algo como lo que se muestra arriba?

+0

Y su pregunta es ....? –

+0

Sí, ha sido un día largo. –

+1

:) Conozca la sensación ... –

Respuesta

13

Te daré un ejemplo completo y un 'sí', pero no estoy seguro de lo que sus preguntas es:

R> for (i in 1:10) { 
+  if (i < 5) next 
+  print(i) 
+ } 
[1] 5 
[1] 6 
[1] 7 
[1] 8 
[1] 9 
[1] 10 
R> 
9

Para que esto funcione, debe probar si x < 5 y, si es así, vaya a next. next, a su vez (para citar la página de ayuda), "[detener] el procesamiento de la iteración actual y [avanzar] el índice de bucle", comenzando de nuevo a través del ciclo.

x <- 1:100 
for(i in 1:10) { 
    if(x[i] < 5) next 
    print(x[i]) 
} 
[1] 5 
[1] 6 
[1] 7 
[1] 8 
[1] 9 
[1] 10 
Cuestiones relacionadas