次の(ネストされた)構造でリストを作成しようとしています。
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
後で記入する空白のリストをたくさん作成しているので、これを経由または同様の方法で実行したいと思います(次のインデックスを参照してリストを展開できることは承知していますが、 2つの深さのインデックスを作成する場合は機能しません)。
これでうまくいったと思い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) )
同様に失敗するものも試しました。
リストのリストを複製するにはどうすればよいですか?