[R言語]リストをループするには?

R言語

どうも、ちょげ(@chogetarou)です。

リスト(List)をループする方法を紹介します。

スポンサーリンク

方法

リスト(List)をループする方法は、2つあります。

要素をループ

ひとつは、要素をループする方法です。

まず、for(){}を記述します。

()内で、inの左辺にループ変数、右辺にリストを指定します。

そして、{}内にループ処理を指定します。

ループ処理では、ループ変数でリストの要素を取得します。

#list=対象のリスト
for(item in list) {
  #ループ処理
  #ループ変数「item」でリストの要素を取得
}

上記のfor-in文は、対象のリストの要素をループします。

使用例

nums <- list(1:10, "Apple", 3, c(10, 4, 7, 0))

for(item in nums) {
  print(item)
}
出力:
 [1]  1  2  3  4  5  6  7  8  9 10
[1] "Apple"
[1] 3
[1] 10  4  7  0

インデックスをループ

もうひとつは、インデックスをループする方法です。

まず、for(){}を記述します。

()内で、inの左辺にループ変数、右辺に「1:length(リスト)」を指定します。

そして、{}内にループ処理を指定します。

ループ処理では、ループ変数でリストのインデックスを取得します。

#list=対象のリスト
for(index in 1:length(list)) {
  #ループ処理
  #ループ変数「index」でリストのインデックスを取得
}

上記のfor-in文は、対象のリストのインデックスループします。

使用例

nums <- list(1:10, "Apple", 3, c(10, 4, 7, 0))

for(index in 1:length(nums)) {
  print(paste(index, ":", nums[index]))
}
出力:
[1] "1 : 1:10"
[1] "2 : Apple"
[1] "3 : 3"
[1] "4 : c(10, 4, 7, 0)"

まとめ

リスト(List)をループする方法は、次の2つです。

  • リストの要素をループする方法
    for(item in list) { ループ処理 }
  • リストのインデックスをループする方法
    for(index in 1:length(list)) { ループ処理 }

コメント

タイトルとURLをコピーしました