R forループ
ループ用
forloopは、シーケンスを反復するために使用されます。
これは、他のプログラミング言語のforキーワードとは異なり、他のオブジェクト指向プログラミング言語で見られる反復子メソッドのように機能します。
forループを使用すると、ベクトル、配列、リストなどの各項目に対して 1 回ずつ、一連のステートメントを実行できます。
vectors{.underline">listsなど、後の章で説明します。
例
リスト内のすべての項目を印刷します。
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
forループでは、whileループのようにインデックス変数を事前に設定する必要はありません。
Break
break文を使用すると、すべての項目をループする前にループを停止できます。
例
「cherry」でループを停止します。
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
xが「cherry」と等しい場合(x == "cherry")、break文を使用してループを終了することを選択しているため、ループは「cherry」で停止します。
Next
next文を使用すると、ループを終了せずに反復をスキップできます。
例
「バナナ」をスキップ
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
ループが「banana」を通過すると、それをスキップしてループを続けます。
Yahtzee!で遊ぼう!
If .. ElseをForループと組み合わせる
実際の例を示すために、Yahtzee! のゲームをプレイするとしましょう。
例
サイコロの目が6の場合、"Yahtzee!"と出力する。
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の範囲の値に達すると、「No Yahtzee」とその番号が出力されます。値が6に達すると、「Yahtzee!」が出力されます。