Een herhalingslus in r schrijven (3 voorbeelden)


Een herhalingslus in R kan worden gebruikt om een actie herhaaldelijk uit te voeren totdat een stopvoorwaarde is bereikt.

U kunt de volgende basissyntaxis gebruiken om een herhalingslus in R te schrijven:

 repeat {
  #do something

  if (some condition){
  break
  }
}

De volgende voorbeelden laten zien hoe u een herhalingslus in verschillende scenario’s kunt gebruiken.

Voorbeeld 1: Waarden afdrukken totdat een bepaald aantal is bereikt

De volgende code laat zien hoe je een herhalingslus kunt gebruiken om waarden af te drukken die beginnen bij 1 totdat 10 is bereikt:

 #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

Hier ziet u hoe deze code werkte:

  • We stellen de startwaarde in op x = 0.
  • We vertelden R om x met 1 te verhogen en vervolgens x af te drukken.
  • We vertelden R dat hij de herhalingslus moest verbreken zodra x een waarde van 10 of meer bereikte.

Voorbeeld 2: Voeg waarden toe aan de vector totdat een specifiek getal is bereikt

De volgende code laat zien hoe je een herhalingslus gebruikt om waarden aan een vector toe te voegen totdat een specifiek getal is bereikt:

 #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

Hier ziet u hoe deze code werkte:

  • We hebben een lege vector gemaakt en de startwaarde ingesteld op x = 0.
  • We vertelden R om x met 1 te verhogen en vervolgens de waarde van x in de x- de positie van de vector in te voegen.
  • We vertelden R dat hij de herhalingslus moest verbreken zodra x een waarde van 5 of meer bereikte.

Voorbeeld 3: Wijzig de waarden in het dataframe totdat een specifiek getal is bereikt

De volgende code laat zien hoe u een herhalingslus kunt gebruiken om de waarden van een bestaand dataframe te wijzigen totdat een specifiek aantal is bereikt:

 #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

Hier ziet u hoe deze code werkte:

  • We hebben een leeg dataframe gemaakt en de startwaarde ingesteld op x = 0.
  • We vertelden R om x met 1 te verhogen, vervolgens de waarde van x in de x- de positie van kolom A in te voegen en de waarde van x*2 in de x- de positie van kolom B in te voegen.
  • We vertelden R dat hij de herhalingslus moest verbreken zodra x een waarde bereikte die gelijk was aan of groter was dan het aantal rijen in het dataframe.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe maak je een geneste For-lus in R
Hoe schrijf je een geneste If Else-instructie in R
Hoe kolomnamen te herhalen in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert