Як написати цикл повторення в r (3 приклади)
Цикл повторення в R можна використовувати для повторного виконання дії, доки не буде досягнуто умови зупинки.
Ви можете використовувати такий базовий синтаксис, щоб написати цикл повторення в R:
repeat {
#do something
if (some condition){
break
}
}
У наведених нижче прикладах показано, як використовувати повторний цикл у різних сценаріях.
Приклад 1: друкувати значення, поки не буде досягнуто певне число
Наступний код показує, як використовувати цикл повторення для друку значень, починаючи з 1 до досягнення 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
Ось як працював цей код:
- Ми встановили початкове значення як x = 0.
- Ми сказали R збільшити x на 1, а потім надрукувати x.
- Ми сказали R розірвати цикл повторення, коли x досягне значення 10 або більше.
Приклад 2: Додайте значення до вектора, доки не буде досягнуто певне число
Наступний код показує, як використовувати цикл повторення для додавання значень до вектора, доки не буде досягнуто певне число:
#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
Ось як працював цей код:
- Ми створили порожній вектор і встановили початкове значення як x = 0.
- Ми сказали R збільшити x на 1, а потім вставити значення x у x-ту позицію вектора.
- Ми сказали R розірвати цикл повторення, коли x досягне значення 5 або більше.
Приклад 3: змінюйте значення у кадрі даних, доки не буде досягнуто певне число
Наступний код показує, як використовувати цикл повторення для зміни значень існуючого кадру даних, доки не буде досягнуто певне число:
#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
Ось як працював цей код:
- Ми створили порожній кадр даних і встановили початкове значення як x = 0.
- Ми сказали R збільшити x на 1, потім вставити значення x у x-ту позицію стовпця A і вставити значення x*2 у x-ту позицію стовпця B.
- Ми сказали R розірвати цикл повторення, коли x досягне значення, що дорівнює або перевищує кількість рядків у кадрі даних.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як створити вкладений цикл For у R
Як написати вкладений оператор If Else у R
Як перебирати імена стовпців у R