如何在R中的循环中创建子列表

时间:2019-08-14 11:27:08

标签: r list loops nested-loops

我在while循环中有一个for循环。 在每次while迭代之后,我以1递增(计数= 1然后计数= 2 ...) 对于每个迭代,我返回几个变量。(a = 1,b = 2)

我想创建一个计数为1..4的列表,然后为for迭代(i)创建一个列表,然后创建在for循环中创建的变量。例子:

List$Count1$Iter1$a

List$Count2$Iter2$a

List$Count4$Iter3$b

在下面的示例中,我希望使用一个名为“ out”的列表: out$(W_count)1...4$(Iter)1...5$A,B

我知道代码有几个问题,但是我找不到解决此问题的正确方法。

count = 1
while( count < 5 ) {

    for(i in 1:5) {
        b = i * i
        a = b * 2
        out = list(W_count = count)
        out[[count]] = list(iter = i)
        out[[count]][[i]] = list(A = a, B = b)
        count = count + 1
    }
}

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,

out <- list()
count = 1
while( count < 5 ) {

    for(i in 1:5) {
        b = i * i
        a = b * 2

      out[[paste0("W_count",count)]][[paste0("Iter",i)]] <-list(A = a, B = b)

    }
    count = count + 1
}

给予

> out$W_count1$Iter1$A
[1] 2

> out$W_count2$Iter2$A
[1] 8

> out$W_count4$Iter3$B
[1] 9