2012-02-14 16 views
16

Non sembrano esserci esempi di utilizzo "successivo" nello control flow help page. Mi piacerebbe saltare alla prossima iterazione basata su una condizione all'interno dello script.Utilizzo successivo in un flusso di controllo

Utilizzando l'esempio qui sotto, diciamo che io non voglio che la stampa, a meno che x[i] > 5, i risultati attesi sarebbe da 5 a 10 sullo schermo:

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

Come potrei fare per implementare l'uso di next per realizzare qualcosa di simile a ciò che è mostrato sopra?

+0

E la tua domanda è ....? –

+0

Sì, è stata una lunga giornata. –

+1

:) Conoscere il sentimento ... –

risposta

13

Vi darò un esempio completo e un 'sì', ma non sono sicuro che cosa le vostre domande è:

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

Per rendere questo lavoro, è necessario verificare se x < 5 e, se è, andare a next. next, a sua volta (per citare la pagina di aiuto), "[interrompe] l'elaborazione dell'iterazione corrente e [avanza] l'indice di loop", ricominciando dal 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 
Problemi correlati