rbind.fill 的最快替代方案

Fastest alternative to rbind.fill

rbind.fill 最快的替代方法是什么?我有一个数据框列表(都具有相同的列名),并且想创建一个在每个数据框(或与此等效的东西)上使用 rbind 的大数据框。任何解决方案,包括 tidyverse 都是好的。

如果数据帧在列表中,基本的R Reduce 函数可以将它们全部rbind。例如,

df1 <- mtcars
df2 <- df1
df3 <- df2
mylist <- list(df1, df2, df3)
rbindall <- Reduce(rbind, mylist)

在 Ashwin Malshé 于 2018 年对 rbindbind_rowsrbindlist 进行的速度比较中 https://rstudio-pubs-static.s3.amazonaws.com/406521_7fc7b6c1dc374e9b8860e15a699d8bb0.html

升序排列:

  1. rbindlistdata.table 是最快的。它比 dplyr.

    bind_rows 快两倍以上
  2. bind_rows 来自 dplyr,比来自 base R

    rbind 快 10 倍以上
  3. rbind base R

3个模拟中肯定有一些极值,但中位数接近均值,表明极值的影响很小!