我想創建一個列表具有以下(嵌套)結構:複製一個列表來創建一個列表中,列出了
l <- list()
for(i in seq(5)) l[[i]] <- list(a=NA,b=NA)
> str(l)
List of 5
$ :List of 2
..$ a: logi NA
..$ b: logi NA
$ :List of 2
..$ a: logi NA
..$ b: logi NA
$ :List of 2
..$ a: logi NA
..$ b: logi NA
$ :List of 2
..$ a: logi NA
..$ b: logi NA
$ :List of 2
..$ a: logi NA
..$ b: logi NA
我想通過rep
或類似做到這一點,因爲我創建一大堆空白列表,我將在後面填寫。(我知道我可以通過引用下一個索引來擴展列表,但在索引兩個深度時不起作用)。
我以爲rep
爲此工作,但它似乎並沒有。 ?rep
給出了下面的例子:
fred <- list(happy = 1:10, name = "squash")
rep(fred, 5)
將返回:
> str(rep(fred, 5))
List of 10
$ happy: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ name : chr "squash"
$ happy: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ name : chr "squash"
$ happy: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ name : chr "squash"
$ happy: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ name : chr "squash"
$ happy: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ name : chr "squash"
換句話說,它展平列表。
我也試過list(rep(fred,5))
,這同樣失敗。
如何複製列表清單?
只是我還是那種可怕的非直覺?感謝您的解決方案。 –
@ AriB.Friedman - 如果你比較'rep(1:2,5)'和'rep(list(1:2),5)',它可能更有意義,同時記住列表**真的是**一種矢量。這有幫助嗎? –
@ JoshO'Brien是的,這確實是。 –