R:使用purrr的映射功能时的映射错误

时间:2019-08-26 17:20:17

标签: r purrr

我想将目录中的所有csv文件读入R并将它们绑定在一起。我使用vroom读取文件,并使用map_dfr将阅读器应用于所有文件并将它们绑定在一起。这完美地适用于数百个文件。但是,将其应用于3000个文件时出现以下错误。

mapping error: Too many open files

我的(简化的)管道如下所示:

library(vroom)
library(dplyr)

files <- list.files(path = "some_path", pattern = "*.csv", full.names = TRUE)

data_combined <- files %>%
   map_dfr(vroom)

每个文件大约只有100kb,因此内存不成问题。如果有人也遇到此问题或对如何解决有想法,我将非常感谢您的帮助。

PS:使用fread或readr读取文件时,会发生相同的错误。问题显然与purrr的map函数有关。

1 个答案:

答案 0 :(得分:-1)

files <- list.files(path = "some_path", pattern = "*.csv", full.names = TRUE)

data_combined <- purrr::map_dfr(files,vroom::vroom)