R Continua per Loop
Quando si hanno molte righe di codice all’interno di un bucle e si desidera che R continui per l’iterazione successiva quando viene soddisfatta una condizione, è possibile scrivere una clausola if
che valuti la condizione e, se è vera, saltare tutto nella loop e continua per l’iterazione successiva. Questo salto viene eseguito con l’istruzione next
.
Un caso tipico è quando si utilizza un bucle per passare attraverso una serie di elementi di dati ed eseguire alcuni calcoli su ciascuno di essi, tralasciando quelli che soddisfano una particolare condizione. Nell’esempio seguente, passiamo attraverso un vettore di numeri, moltiplicandoli tutti tranne quelli che sono multipli di 5.
result <- 1
base <- 5
x <- c(7, 5, 3, 10, 8, 4, 11, 15, 6, 13)
for (num in x) {
if (num %% base == 0) {
next
}
result <- result * num
}
paste ('Result:', result)
Produzione:
[1] 576576
Nota che il risultato è la moltiplicazione di tutti i numeri vettoriali tranne 5, 10 e 15.