Использование многоточия в функции для чтения данных с использованием принципов приближения - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь написать функцию загрузки данных для пакета 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. Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...