如何在R中堆叠多个矩阵

Rya*_*yan 3 r matrix

我有一个矩阵列表,类似于下面的代码获得的矩阵:

a <- matrix(1, ncol=2, nrow=3)
b <- matrix(2, ncol=2, nrow=3)
c <- matrix(3, ncol=2, nrow=3)
d <- list(a, b, c)
Run Code Online (Sandbox Code Playgroud)

我想堆叠它们,使它们在一个矩阵中,类似于这个:

e <- rbind(d[[1]], d[[2]], d[[3]])
Run Code Online (Sandbox Code Playgroud)

诀窍在于我事先并不知道需要加入多少个矩阵.有没有一种很好的方法来编写将所有矩阵堆叠在列表中的代码?

ags*_*udy 5

经典之作do.call:

     do.call(rbind,d)
Run Code Online (Sandbox Code Playgroud)

使用data.table包的另一个选择:

library(data.table)
rbindlist(lapply(d,as.data.frame))
Run Code Online (Sandbox Code Playgroud)