【问题标题】:Concatenate list elements into a date.frame in R [duplicate]将列表元素连接到R中的数据框[重复]
【发布时间】:2019-04-08 12:32:04
【问题描述】:

我有一个包含多个工作表的 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),但这并没有给我想要的结果。

【问题讨论】:

  • 你需要bind_rows(example_list)

标签: r


【解决方案1】:

flattenlist 元素压缩为vector,我们需要bind_rows

library(dplyr)
bind_rows(example_list)

或者使用来自base Rrbind(以防我们不需要任何库)

do.call(rbind, example_list)

【讨论】:

  • bind_rows 允许使用 .id 参数添加数据源列
猜你喜欢
  • 2022-08-20
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 2014-12-12
  • 1970-01-01
  • 2013-05-07
  • 2014-04-18
  • 1970-01-01
相关资源
最近更新 更多