1

次のように作成されたリストがあるとaします。

a1<-list(1,2,list("X",10))
a2<-list("A",list("B"),"C")
a3<-list(list("D",list("E")),3.14)
a<-list(a1,a2,a3)

どうすればaこれに変換できますか:

list(1,2,list("X",10),"A",list("B"),"C",list("D",list("E")),3.14)

上記の例のようにa1, a2, a3... anだけでなく、a1, a2任意の数の に対して機能するソリューションが必要です。a3

Mathematica では単純に を使用Flatten[a,1]しますが、R ではどのように行うのでしょうか?

4

4 に答える 4

5

unlistで使用recursive=FALSE:

dput(unlist(a,recursive=FALSE))
list(1, 2, list("X", 10), "A", list("B"), "C", list("D", list(
    "E")), 3.14)
于 2013-07-23T21:12:01.337 に答える
1

それは簡単です:

Reduce("c",a)

それで全部です。

于 2013-07-23T21:11:03.520 に答える