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 を出力するように指示しました。
- x が 10 以上の値に達したら繰り返しループを中断するように R に指示しました。
例 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 番目の位置に挿入するように指示しました。
- x が 5 以上の値に達したら繰り返しループを中断するように R に指示しました。
例 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 の値を列 A のx 番目の位置に挿入し、x*2 の値を列 B のx 番目の位置に挿入するように指示しました。
- x がデータ フレーム内の行数以上の値に達したら繰り返しループを中断するように R に指示しました。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
R でネストされた For ループを作成する方法
R でネストされた If Else ステートメントを記述する方法
R で列名を反復処理する方法