Разумная отправная точка:
files <- list.files(pattern = ".*\\.xlsx$", path = "wd", recursive = TRUE, full.names = TRUE)
lst_of_frames <- lapply(files, readxl::read_excel)
# assuming *all* files have exactly the same structure
oneframe <- do.call("rbind.data.frame", lst_of_frames)
# if there are some *minor* differences between them, then one of the following might work better
oneframe <- dplyr::bind_rows(lst_of_frames)
oneframe <- data.table::rbindlist(lst_of_frames, fill = TRUE)