【发布时间】:2021-08-14 10:22:20
【问题描述】:
让我有下面的列表(list2),其中列表的元素也是一个列表:
> dput(list2)
list(x = list(a = c(0.18, 0.7, 0.57, 0.17, 0.94), b = c(0.18,
0.7, 0.57, 0.17, 0.94)), y = list(a = c(0.18, 0.7, 0.57, 0.17,
0.94), b = c(0.18, 0.7, 0.57, 0.17, 0.94)), z = list(a = c(0.18,
0.7, 0.57, 0.17, 0.94), b = c(0.18, 0.7, 0.57, 0.17, 0.94)))
我在哪里生成了如下列表:
names1<-c("a","b")
names2<-c("x","y","z")
list1<-list()
list2<-list()
for(i in names1)
for(j in names2){{
set.seed(2)
list1[[i]]<-round(runif(5),2)
list2[[j]]<-list1
}}
我想将此列表重塑为以下数据框:
n1 n2 n3
1 x a 0.18
2 x a 0.70
3 x a 0.57
4 x a 0.17
5 x a 0.94
6 x b 0.18
7 x b 0.70
8 x b 0.57
9 x b 0.17
10 x b 0.94
11 y a 0.18
12 y a 0.70
13 y a 0.57
14 y a 0.17
15 y a 0.94
16 y b 0.18
17 y b 0.70
18 y b 0.57
19 y b 0.17
20 y b 0.94
21 z a 0.18
22 z a 0.70
23 z a 0.57
24 z a 0.17
25 z a 0.94
26 z b 0.18
27 z b 0.70
28 z b 0.57
29 z b 0.17
30 z b 0.94
如何重塑列表?我的原始列表比上面的例子大得多。
非常感谢。
【问题讨论】: