Jak napisać pętlę powtarzania w r (3 przykłady)


Pętlę powtarzania w R można wykorzystać do wielokrotnego wykonywania akcji, aż do osiągnięcia warunku zatrzymania.

Aby napisać pętlę powtarzania w R, możesz użyć następującej podstawowej składni:

 repeat {
  #do something

  if (some condition){
  break
  }
}

Poniższe przykłady pokazują, jak używać pętli powtarzania w różnych scenariuszach.

Przykład 1: Drukuj wartości aż do osiągnięcia określonej liczby

Poniższy kod pokazuje, jak używać pętli powtarzania do drukowania wartości zaczynających się od 1 aż do osiągnięcia 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

Oto jak działał ten kod:

  • Wartość początkową ustalamy jako x = 0.
  • Powiedzieliśmy R, aby zwiększył x o 1, a następnie wydrukował x.
  • Powiedzieliśmy R, aby przerwał pętlę powtarzania, gdy x osiągnie wartość 10 lub więcej.

Przykład 2: Dodawaj wartości do wektora aż do osiągnięcia określonej liczby

Poniższy kod pokazuje, jak wykorzystać pętlę powtarzania do dodawania wartości do wektora, aż do osiągnięcia określonej liczby:

 #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

Oto jak działał ten kod:

  • Stworzyliśmy pusty wektor i ustawiliśmy wartość początkową na x = 0.
  • Powiedzieliśmy R, aby zwiększył x o 1, a następnie wstawił wartość x na x-tą pozycję wektora.
  • Powiedzieliśmy R, aby przerwał pętlę powtarzania, gdy x osiągnie wartość 5 lub więcej.

Przykład 3: Zmień wartości w ramce danych, aż do osiągnięcia określonej liczby

Poniższy kod pokazuje, jak wykorzystać pętlę powtarzania do modyfikowania wartości istniejącej ramki danych, aż do osiągnięcia określonej liczby:

 #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

Oto jak działał ten kod:

  • Stworzyliśmy pustą ramkę danych i ustawiliśmy wartość początkową na x = 0.
  • Powiedzieliśmy R, aby zwiększył x o 1, następnie wstawił wartość x na x-tą pozycję kolumny A i wstawił wartość x*2 na x-tą pozycję kolumny B.
  • Powiedzieliśmy R, aby przerwał pętlę powtarzania, gdy x osiągnie wartość równą lub większą niż liczba wierszy w ramce danych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak utworzyć zagnieżdżoną pętlę For w R
Jak napisać zagnieżdżoną instrukcję If Else w R
Jak iterować po nazwach kolumn w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *