For ループ
CoddyのRジャーニー「基礎」セクションの一部。レッスン 38/78。
同じ操作を何度も繰り返す必要がある場合があります。同じコードを何度も書く代わりに、forループを使ってコードを繰り返し実行できます。
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] 8loop は each number を 2 倍にしてから print します。これが loop の力です。ロジックを一度書くだけで、シーケンス内のすべての値に適用されます。
チャレンジ
簡単入力から数値 n を読み取り、for ループを使って 1 から n までのすべての数の平方を出力します。
各平方は、print() を使ってそれぞれ別の行に出力してください。
たとえば、入力が 4 の場合、出力は次のようになります。
[1] 1
[1] 4
[1] 9
[1] 16自分で試してみよう
# 入力を読み込む
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: 以下にコードを書いてください
# forループを使って、1からnまでの各数の平方を出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rオンラインコンパイラ