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