Вы можете написать функцию, которая
1) Читает файл
2) Выполняет все этапы обработки данных
3) Записывает новый файл
library(tidyverse)
library(lubridate)
library(data.table)
f1 <- function(file) {
readxl::read_xlsx(file) %>%
group_by(date = floor_date(DATE,"month")) %>%
summarize(SALES = sum(SALES)) %>%
separate(date, sep="-", into = c("year", "month")) %>%
mutate(lag_12 = shift(SALES,-12),
lag_24 = shift(SALES,-24)) %>%
writexl::write_xlsx(paste0('new_', basename(file)))
}
и делайте это для каждого файла.
lapply(filenames, f1)