我想將列表的列表轉換爲data.frame
。首先,我的每個子列表只有長度爲1,因此我使用stack(as.data.frame(...))
,但堆棧沒有縫合才能生成多列data.frame
。那麼,什麼是最好的方式來實現這一目標:如何使用堆棧產生多列數據框?
# works fine with only sublists of length 1
l = list(a = sample(1:5, 5), b = sample(1:5, 5))
> stack(as.data.frame(l))
values ind
1 5 a
2 4 a
3 1 a
4 2 a
5 3 a
6 2 b
7 1 b
8 3 b
9 5 b
10 4 b
現在我的列表是一個列表的列表:
l = list(a = list(first = sample(1:5, 5), sec = sample(1:5, 5)), b = list(first = sample(1:5, 5), sec = sample(1:5, 5)))
stack(as.data.frame(l))
values ind
1 4 a.first
2 5 a.first
3 3 a.first
4 1 a.first
5 2 a.first
6 3 a.sec
7 5 a.sec
8 1 a.sec
9 2 a.sec
10 4 a.sec
11 5 b.first
12 4 b.first
13 3 b.first
14 1 b.first
15 2 b.first
16 3 b.sec
17 4 b.sec
18 1 b.sec
19 2 b.sec
20 5 b.sec
,而我想還是有一列ind
與a
和b
和兩個
什麼是預期的輸出? – Sotos