RForループ
Forループ
for
ループは、シーケンスを反復処理するために使用されます。
例
for (x in 1:10) {
print(x)
}
これはfor
、他のプログラミング言語のキーワードとは異なり、他のオブジェクト指向プログラミング言語で見られるイテレータメソッドのように機能します。
ループを使用for
すると、ベクトル、配列、リストなどの項目ごとに1回ずつ、一連のステートメントを実行できます。
例
リスト内のすべてのアイテムを印刷します。
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
例
サイコロの数を印刷します。
dice <- c(1, 2, 3, 4, 5, 6)
for (x in dice) {
print(x)
}
ループのfor
場合のように、ループに事前に設定するインデックス変数は必要ありませんwhile
。
壊す
このbreak
ステートメントを使用すると、すべてのアイテムをループする前にループを停止できます。
例
「チェリー」でループを停止します。
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
が「cherry」()に等しいbreak
場合にステートメント
を使用してループを終了することを選択したため、ループは「cherry」で停止します。x
x ==
"cherry"
次
このnext
ステートメントを使用すると、ループを終了せずに反復をスキップできます。
例
「バナナ」をスキップ:
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
ループが「バナナ」を通過すると、それをスキップしてループを続行します。
Yahtzee!
もし..それ以外の場合はForループと組み合わせる
実用的な例を示すために、Yahtzeeのゲームをプレイするとしましょう!
例
「Yahtzee!」を印刷します サイコロの数が6の場合:
dice <- 1:6
for(x in dice) {
if (x == 6) {
print(paste("The dice number is", x, "Yahtzee!"))
} else {
print(paste("The dice number is", x, "Not Yahtzee"))
}
}
ループが1から5の範囲の値に達すると、「NoYahtzee」とその番号が出力されます。値6に達すると、「Yahtzee!」と出力されます。とその数。
ネストされたループ
ループ内にループを含めることもできます。
例
リスト内の各果物の形容詞を印刷します。
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana",
"cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}