Як написати цикл повторення в 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *