在函数中使用省略号以使用整洁的原理读取数据

时间:2020-03-20 19:59:03

标签: r tidyverse ellipsis rlang

我正在尝试为R包编写一个上载数据函数,并且我希望能够通过省略号将参数传递给我用来读取数据的子函数。我的功能在下面,

upload_data_excel <- function(directory_path, ...) {

  # capture ellipsis
  dots <- rlang::list2(...)

  # list of file names for upload
  file_list <- list.files(directory_path, pattern = '*.xlsx$', full.names = TRUE)

  # concatenate data files
  data <- file_list %>% purrr::map_dfr(~ readxl::read_excel(., !!! dots))

  # clean column names
  data %<>% janitor::clean_names(case = 'snake')

  # output concatenated tibble
  return(data)

}

有时候省略号是空的,因此我也希望在这种情况下也可以使用。我不断收到错误

Error: `sheet` must have length 1 

这种方法正确吗?该错误表明我没有在read_excel函数中正确解压点。有什么想法吗?

0 个答案:

没有答案