如何遍历R中的列表

时间:2014-10-10 10:12:32

标签: r loops

我有一个列表可以说:

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

中执行此操作

1 个答案:

答案 0 :(得分:20)

这样的事情?

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"