从多个 RData 文件的列表中读取数据帧

Read dataframe from list in multiple RData files

我有一堆 RData 文件(1.RData、2.RData...100.RData)都包含三个列表元素,“X”、“Y”和“Z” .在列表 Z 中是一个数据框,我想在嵌套的 tibble 中将其读入 R。

我的go-to读取多个文件的方法明显不行:

library(tidyverse)

my_files <-
  list.files(path = "path_to_files",
             pattern = ".RData",
             recursive = TRUE,
             full.names = TRUE)

# how the hell am I suppose to read the Z$df into my nested tibble?

df <-
  tibble(filename = my_files) %>%
  mutate(file_contents = map(
    my_files,
    ~ load(.) 
  ))

这会生成一个带有列表列的标题,其中每个列表包含字符值“X”、“Y”和“Z”,每个列表中没有嵌套的所有数据。

是否可以将多个 RData 文件中的嵌套数据帧读取到嵌套的 tibble 中?

(这是我在这里的第一个问题,所以我尽力表达我的问题。)

遍历文件名,加载,然后提取数据帧,(未测试):

dfList <- lapply(my_files, function(i){
  load(i)
  Z$df
  })