如何在R中组合数据列表中的元素?
例如,我有一个数据列表(可能有许多元素,但这里只有2个): 我想把这两个元素a和b组合成一个数据框架,比如如何在R中组合数据列表中的元素?,r,R,例如,我有一个数据列表(可能有许多元素,但这里只有2个): 我想把这两个元素a和b组合成一个数据框架,比如 > dataframe [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 [6,] 11 16 [7,] 12 17 [8,] 13 18 [9,] 14 19 [10,] 15 20 也就是说
> dataframe
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
[6,] 11 16
[7,] 12 17
[8,] 13 18
[9,] 14 19
[10,] 15 20
也就是说,数据列表中有许多元素。它们都有相同的列。我想把它们组合成一个数据帧,比如在R中使用“rbind()”函数。
怎么做?谢谢 我想你需要
do.call(rbind,…)
2015年9月16日更新:对于大型列表,一种更有效的方法是
data.table::rbindlist(lapply(datalist, as.data.frame))
我想你需要
do.call(rbind,…)
2015年9月16日更新:对于大型列表,一种更有效的方法是
data.table::rbindlist(lapply(datalist, as.data.frame))
使用
plyr轻松获得:
library(plyr)
datalist = list(a = matrix(1:10, 5, 2), b = matrix(11:20, 5, 2))
dat <- ldply(datalist)
print(dat)
## .id 1 2
## 1 a 1 6
## 2 a 2 7
## 3 a 3 8
## 4 a 4 9
## 5 a 5 10
## 6 b 11 16
## 7 b 12 17
## 8 b 13 18
## 9 b 14 19
## 10 b 15 20
库(plyr)
数据列表=列表(a=矩阵(1:10,5,2),b=矩阵(11:20,5,2))
dat使用plyr
library(plyr)
datalist = list(a = matrix(1:10, 5, 2), b = matrix(11:20, 5, 2))
dat <- ldply(datalist)
print(dat)
## .id 1 2
## 1 a 1 6
## 2 a 2 7
## 3 a 3 8
## 4 a 4 9
## 5 a 5 10
## 6 b 11 16
## 7 b 12 17
## 8 b 13 18
## 9 b 14 19
## 10 b 15 20
库(plyr)
数据列表=列表(a=矩阵(1:10,5,2),b=矩阵(11:20,5,2))
dat+1-我冒昧地编辑了问题和你的答案,因为糟糕的预期输出显然是OP的疏忽。(我认为他还没有意识到…)请删除您的评论,或者希望管理员会删除,因为我已经将它们标记为过时。+1-我自由编辑了问题和您的答案,因为预期的输出结果不好是OP的明显疏忽。(我认为他还没有意识到…)请删除您的评论,或者希望管理员会删除,因为我已经将它们标记为过时。