R でリストを反復処理する方法 (3 つの例)
次のいずれかのメソッドを使用して、R のリストを反復処理できます。
方法 1: リストを循環して、すべてのサブ項目を同じ行に表示します
for (i in my_list) { print (i) }
方法 2: リストを循環して、すべてのサブ項目を別の行に表示します
for (i in my_list) {
for (j in i)
{ print (j)}
}
方法 3: リストを調べて特定の値のみを表示する
#only display first value in each element of list
for (i in 1:length(my_list)) {
print (my_list[[i]][1])
}
次の例は、R で次のリストを使用してこれらの各メソッドを使用する方法を示しています。
#create list
team_info <- list(team = 'Mavericks',
positions = c('G', 'F', 'C'),
all_stars = 3)
#view list
team_info
$team
[1] “Mavericks”
$positions
[1] “G” “F” “C”
$all_stars
[1] 3
例 1: リストを循環して、すべてのサブ項目を同じ行に表示します
次のコードは、リストを反復処理して各サブテキストを同じ行に表示する方法を示しています。
#print each sub-element on same line
for (i in team_info) {
print (i)
}
[1] “Mavericks”
[1] “G” “F” “C”
[1] 3
各サブ要素は同じ行に印刷されることに注意してください。
例 2: リストを循環して、すべてのサブ項目を別の行に表示します
次のコードは、リストを反復処理し、各サブ項目を異なる行に表示する方法を示しています。
#print each sub-element on different lines
for (i in team_info) {
for (j in i)
{ print (j)}
}
[1] “Mavericks”
[1] “G”
[1] “F”
[1 C"
[1] 3
各サブ要素は独自の行に出力されることに注意してください。
例 3: リストを循環して特定の値のみを表示する
次のコードは、リストを反復処理し、各サブ項目を異なる行に表示する方法を示しています。
#only display first value in each element of list
for (i in 1:length(team_info)) {
print (team_info[[i]][1])
}
[1] “Mavericks”
[1] “G”
[1] 3
各リスト項目の最初の値のみが表示されることに注意してください。
注: [1]を変更するだけで、各項目に異なる値が表示されます。たとえば、 [2]を使用すると、各要素の 2 番目の値のみを表示できます。
追加リソース
次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。