Come scrivere un ciclo di ripetizione in r (3 esempi)


Un ciclo di ripetizione in R può essere utilizzato per eseguire un’azione ripetutamente fino al raggiungimento di una condizione di arresto.

È possibile utilizzare la seguente sintassi di base per scrivere un ciclo di ripetizione in R:

 repeat {
  #do something

  if (some condition){
  break
  }
}

Gli esempi seguenti mostrano come utilizzare un ciclo di ripetizione in diversi scenari.

Esempio 1: stampare i valori fino al raggiungimento di un numero specifico

Il codice seguente mostra come utilizzare un ciclo di ripetizione per stampare valori che iniziano da 1 fino al raggiungimento di 10 :

 #define starting value
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  print (x)

  if (x >= 10){
  break
  }
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10

Ecco come funzionava questo codice:

  • Impostiamo il valore iniziale come x = 0.
  • Abbiamo detto a R di incrementare x di 1, quindi stampare x.
  • Abbiamo detto a R di interrompere il ciclo di ripetizione una volta che x raggiunge un valore pari o superiore a 10.

Esempio 2: aggiungere valori al vettore fino al raggiungimento di un numero specifico

Il codice seguente mostra come utilizzare un ciclo di ripetizione per aggiungere valori a un vettore fino al raggiungimento di un numero specifico:

 #define empty vector and starting value
data <-c()
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  data[x] <- x
print (data)
  
  if (x >= 5){
  break
  }
}

[1] 1
[1] 1 2
[1] 1 2 3
[1] 1 2 3 4
[1] 1 2 3 4 5

Ecco come funzionava questo codice:

  • Abbiamo creato un vettore vuoto e impostato il valore iniziale come x = 0.
  • Abbiamo detto a R di incrementare x di 1, quindi di inserire il valore di x nella xesima posizione del vettore.
  • Abbiamo detto a R di interrompere il ciclo di ripetizione una volta che x raggiunge un valore pari o superiore a 5.

Esempio 3: modificare i valori nel frame di dati fino al raggiungimento di un numero specifico

Il codice seguente mostra come utilizzare un ciclo di ripetizione per modificare i valori di un frame di dati esistente fino al raggiungimento di un numero specifico:

 #define data frame and starting value
df <- data. frame (A=c(6, 7, 2, 8),
                 B=c(2, 4, 5, 5))
x <- 0

#perform repeat-loop
repeat {
  x <- x+1
  df$A[x] <- x
  df$B[x] <- x * 2

  if (x >= nrow(df)){
  break
  }
}

#view resulting data frame
df

  AB
1 1 2
2 2 4
3 3 6
4 4 8

Ecco come funzionava questo codice:

  • Abbiamo creato un frame di dati vuoto e abbiamo impostato il valore iniziale come x = 0.
  • Abbiamo detto a R di incrementare x di 1, quindi di inserire il valore di x nella xesima posizione della colonna A e di inserire il valore di x*2 nella xesima posizione della colonna B.
  • Abbiamo detto a R di interrompere il ciclo di ripetizione una volta che x raggiunge un valore uguale o maggiore del numero di righe nel frame di dati.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come creare un ciclo For nidificato in R
Come scrivere un’istruzione If Else annidata in R
Come scorrere i nomi delle colonne in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *