【发布时间】:2023-03-24 14:14:01
【问题描述】:
我有一堆 RData 文件(1.RData、2.RData...100.RData),它们都包含三个列表元素,“X”、“Y”和“Z”。在列表 Z 中是一个数据框,我想在嵌套的 tibble 中读入 R。
我读取多个文件的首选方法显然不好:
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 中?
(这是我在这里的第一个问题,所以我尽力令人满意地传达我的问题。)
【问题讨论】:
-
load返回“创建的对象名称的字符向量,不可见” - 而不是对象本身。 (虽然该对象在适当的环境中仍然可用,但它保存为的名称。)也许您需要readRDS()代替?
标签: r loops tidyverse purrr rdata