我有一个包含几张纸的Excel文件,所有纸都包含相同的数据结构。我使用readxl读取工作表,并将这些结果存储在工作表中的列表中,作为一个元素。我现在想将它们串联成一个数据框。读取数据后,我的结构与下面的示例列表相同(为清楚起见,我省略了读取XLS的部分)
example_list = list(sheet1=tibble(A=c(1,2), B=c(3,4)), sheet2 = tibble(A=c (5,6), B=c(7,8)))
example_list
$sheet1
# A tibble: 2 x 2
A B
<dbl> <dbl>
1 1 3
2 2 4
$sheet2
# A tibble: 2 x 2
A B
<dbl> <dbl>
1 5 7
2 6 8
我的结果应如下所示:
# A tibble: 4 x 2
A B
<dbl> <dbl>
1 1 3
2 2 4
3 5 7
4 6 8
我尝试了flatten(example_list)
,但这没有给我想要的结果。
答案 0 :(得分:2)
flatten
将list
元素压缩为vector
,我们需要bind_rows
library(dplyr)
bind_rows(example_list)
或者使用rbind
中的base R
(以防我们不需要任何库)
do.call(rbind, example_list)