For ループ
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 38/78。
同じ動作を何度も繰り返す必要がある場合があります。同じコードを何度も書く代わりに、for loop を使用してコードを繰り返し実行できます。
forループは一連の値を反復処理し、各値に対してループ内のコードを1回ずつ実行します:
for (i in 1:3) {
print(i)
}出力:
[1] 1
[1] 2
[1] 3変数 i は、シーケンス 1:3(つまり 1, 2, 3)の各値を取ります。各値に対して、波括弧 { } 内のコードが1回実行されます。
ループ内では、任意の変数名を使用し、任意の操作を実行できます。
for (num in 1:4) {
print(num * 2)
}出力:
[1] 2
[1] 4
[1] 6
[1] 8このループは、各数値を表示する前に2倍にします。これがループの力です。ロジックを一度書けば、シーケンス内のすべての値に適用されます。
チャレンジ
簡単入力から数値 n を読み取り、forループを使用して1から n までのすべての数値の2乗を出力してください。
print() を使用して、各2乗の値をそれぞれの行に出力してください。
例えば、入力が 4 の場合、出力は以下のようになります:
[1] 1
[1] 4
[1] 9
[1] 16チートシート
forループは、一連の値を反復処理することで、コードを繰り返し実行します:
for (i in 1:3) {
print(i)
}変数 i は、シーケンス 1:3 の各値を取ります。波括弧 { } 内のコードは、各値に対して1回ずつ実行されます。
任意の変数名を使用し、ループ内で演算を行うことができます:
for (num in 1:4) {
print(num * 2)
}出力:
[1] 2
[1] 4
[1] 6
[1] 8自分で試してみよう
# 入力を読み込む
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: 以下にコードを記述してください
# forループを使用して、1からnまでの各数値の2乗を出力しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。