#r #progress-bar #purrr
Вопрос:
Я пытаюсь использовать pmap и безопасно применять функцию к каждой строке входной таблицы, показывая общий прогресс.
Вся информация, которую я нашел, предполагает создание функции-оболочки, с которой я должен работать в приведенном ниже примере.
Однако я не поклонник использования анонимной функции, так как это затрудняет чтение и адаптацию кода.
Существуют ли лучшие / более чистые способы сделать это с меньшим вложением функций и т. Д.?
example_data <- tribble(~input_col,
r"(C:UsersDocumentsexample data.xlsx)",
r"(C:does not exist)")
handlers(global = TRUE)
my_reader <- function(example_data)
{
p <- progressor(steps = nrow(example_data))
example_data %>%
mutate(output= pmap(list(xlsxFile=input_col),
safely(function(xlsxFile){
Sys.sleep(2)
p(sprintf("xlsxFile=%s", xlsxFile))
read.xlsx(xlsxFile=xlsxFile, na.strings='')
}))
)
}
#produces the outputs and progress bar
example_data %>% my_reader %>% View()