必须有一种简单的方法来查找列表中的所有表,该怎么做?
rbind(tempOut[[1]], tempOut[[2]], tempOut[[3]], tempOut[[4]],
tempOut[[5]], tempOut[[6]], tempOut[[7]], tempOut[[8]],
tempOut[[9]], tempOut[[10]], tempOut[[11]], tempOut[[12]],
tempOut[[13]], tempOut[[14]], tempOut[[15]], tempOut[[16]],
tempOut[[17]], tempOut[[18]], tempOut[[19]], tempOut[[20]],
tempOut[[21]], tempOut[[22]], tempOut[[23]], tempOut[[24]],
tempOut[[25]], tempOut[[26]], tempOut[[27]], tempOut[[28]],
tempOut[[29]], tempOut[[30]], tempOut[[31]], tempOut[[32]])
答案 0 :(得分:0)
1)do.call 。使用第一行提供可重现的测试输入(其中BOD
是内置的6行数据帧),我们将do.call
与{{1 }} 如图所示。不使用任何软件包。
rbind
给予:
tempOut <- list(BOD, 10*BOD, 100*BOD) # test input
do.call("rbind", tempOut)
2)减少:第二种基本替代方法是:
Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
7 10 83.0
8 20 103.0
9 30 190.0
10 40 160.0
11 50 156.0
12 70 198.0
13 100 830.0
14 200 1030.0
15 300 1900.0
16 400 1600.0
17 500 1560.0
18 700 1980.0
3)软件包:还有一些提供此功能的软件包,包括data.table中的Reduce("rbind", tempOut)
,dplyr中的rbindlist
和plyr中的bind_rows
。
3a)purrr :: map_dfr 特别要注意的是,如果要跟踪每行来自哪个表是purrr解决方案-还要注意data.table的rbind.fill
具有@Henrik的评论中的rbindlist
自变量。
idcol=
给予:
library(dplyr) # map_dfr from purrr also requires dplyr
library(purrr)
map_dfr(tempOut, identity, .id = "id")