Я хотел бы скомпилировать файл Excel с несколькими вкладками, помеченными по годам (2016, 2015, 2014 и т. Д.). Каждая вкладка содержит идентичные данные, но названия столбцов могут быть написаны по-разному от года к году.
Я бы хотел стандартизировать столбцы на каждом листе перед объединением.
Это общий способ объединения, использующий purrr
и readxl
для таких задач:
combined.df <- excel_sheets(my.file) %>%
set_names() %>%
map_dfr(read_excel, path = my.file, .id = "sheet")
... однако, как уже отмечалось, это создает отдельные столбцы для "COLUMN ONE" и "Column One", которые имеют одинаковые данные.
Вставка make.names
в конвейер, вероятно, будет лучшим решением.
Идеально было бы хранить все вместе ... что-то вроде:
combined.df <- excel_sheets(my.file) %>%
set_names() %>%
map(read_excel, path = my.file) %>%
map(~(names(.) %>% #<---WRONG
make.names() %>%
str_to_upper() %>%
str_trim() %>%
set_names()) )
.. но синтаксис неверен.