【发布时间】:2020-06-09 18:12:08
【问题描述】:
我有许多 data.frames 存储在一个列表 (list1) 中,并想创建一个新列表 (list2) 与 data.frames 其中第一个包含 list1 中 data.frames 的所有第一行,第二个包含所有第二行等。这是一个示例:
set.seed(42)
df1 <- data.frame(a=sample.int(100,3),b=sample.int(100,3))
df2 <- data.frame(a=sample.int(100,3),b=sample.int(100,3))
list1 <- list(df1,df2)
list1
[[1]]
a b
1 92 84
2 93 64
3 29 51
[[2]]
a b
1 74 71
2 14 46
3 65 100
据此,我想创建列表 2,如下所示:
[[1]]
a b
1 92 84
2 74 71
[[2]]
a b
1 93 64
2 14 46
[[3]]
a b
1 29 51
2 65 100
在R 中执行此操作的有效方法是什么?
【问题讨论】:
-
lapply(1:nrow(list1[[1]]), function(x) rbind(list1[[1]][x,], list1[[2]][x,]))