[英]How to flatten exactly two dimensions of the nested list?
假設我有一個列表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中如何做到這一點?
將unlist
與recursive=FALSE
:
dput(unlist(a,recursive=FALSE))
list(1, 2, list("X", 10), "A", list("B"), "C", list("D", list(
"E")), 3.14)
do.call('c', a)
會比Reduce('c', a)
更快。 unlist(a, recursive = FALSE, use.names = FALSE)
比unlist(a, recursive = FALSE)
更快。 unlist
是這種情況下的解決方法。
將發表評論,但我似乎沒有能力。
這很簡單:
Reduce("c",a)
就這樣。
您正在尋找unlist(a, recursive=FALSE)
嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.