web-dev-qa-db-ja.com

Rでリストをループする方法

私はリストを言うことができます:

dataSet$mixed_bag <- list("Hello", c("USA", "Red", "100"), c("India", "Blue", "76"))

このリストを反復処理し、リストの内容に基づいて新しい変数を作成します。擬似コードは次のようになります。

foreach row in dataSet$mixed_bag {
    if (sapply(dataSet$mixed_bag, length) == 3) {
        dataSet$country <- dataSet$mixed_bag[[row]][1];
        dataSet$color <- dataSet$mixed_bag[[row]][2];
        dataSet$score <- dataSet$mixed_bag[[row]][3];
    } else if (sapply(dataSet$mixed_bag, length) == 2) {
       #Do something else
    } else {
       # Do nothing
    }
}

Rでこれをどのように行うか提案してください

14
user3422637

このようなもの?

dataList=list("Hello", c("USA", "Red", "100"), c("India", "Blue", "76"))
for(i in dataList){print(i)}

戻り値:

[1] "Hello"
[1] "USA" "Red" "100"
[1] "India" "Blue"  "76"   

または:

for(i in dataList){for(j in i){print(j)}}

戻り値:

[1] "Hello"
[1] "USA"
[1] "Red"
[1] "100"
[1] "India"
[1] "Blue"
[1] "76"
25
phonixor