从 R 中的数据帧列表中提取多个数据帧

Extracting multiple dataframes from a list of dataframes in R

我有一个数据框列表,结构如下。

我需要从所述列表中提取可变数量的元素,并在完成后使用标识符将它们连接在一起。

使用 [[]] 方法提取有效,但我似乎无法获取范围。

这个有效:

x <- pf_metrics[[[1]]]

它以原始结构提取整个第一个数据帧。这就是我想做的,但是跨越可变长度的数据框列表。

使用类似...的语法

x <- pf_metrics[c[1:length(pf_metrics)]]

x <- pf_metrics[[c(1,2)]]

好像也不行。

谢谢!

尝试以下 -

num <- c(1, 2)
result <- dplyr::bind_rows(pf_metrics[num], .id = 'id')

其中 num 是您想要 select 的列表元素,它还将包含一个 id 列,该列将是每个列表的唯一标识符。

使用data.table

library(data.table)
num <- c(1, 2)
result <- rbindlist(pf_metrics[num], idcol = 'id')