使用 map() 函数读取和合并另一个文件列表

Use map() function to read and merge another files list

我有三个文件列表

filesl <- list.files(pattern = 'RP-L-.*\.xls', full.names = TRUE)
filesr <- list.files(pattern = 'RP-R-.*\.xls', full.names = TRUE)
filesv <- list.files(pattern = 'RP-V-.*\.xls', full.names = TRUE)

我已经尝试阅读并合并其中两个,如下所示:

data <- map2_dfr(filesl, filesr, ~ {
  ldat <- readxl::read_excel(.x)
  rdat <- readxl::read_excel(.y)
  df <- rbind.data.frame(ldat, rdat, by = c('ID', 'GR', 'SES', 'COND'))
})

如果我想添加第三个列表filesv我应该设置什么功能?我想我应该使用 purrr 包中的一个来在多个元素上启用函数迭代(例如 pmap, imap 等等,但我无法正确更改命令)。

关于

的任何建议

提前致谢

data <- pmap_dfr(list(filesl, filesr, filesv), ~ {
  ldat <- readxl::read_excel(..1)
  rdat <- readxl::read_excel(..2)
  vdat <- readxl::read_excel(..3)
  df <- rbind.data.frame(ldat, rdat, vdat, by = c('ID', 'GR', 'SES', 'COND'))
})

pmap 获取要迭代的列表列表。然后参数可以在匿名函数中被引用为..1..2等。