Без ваших данных немного сложно сказать вам, будет ли это работать или нет, но вот несколько вариантов.Я бы лично создал вложенный фрейм данных из фреймов данных, если бы не был уверен, что все фреймы данных имеют одинаковое количество строк.
library(tidyverse)
library(readxl)
df <- data_frame(year = rep(c(2014, 2015, 2016), each = 12),
month = rep(c("Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"), 3)) %>%
mutate(infile = map_chr(year, ~paste(.x, " GP",".xlsx",sep="")),
data = map2(infile, month, ~read_excel(.x, sheet = .y)),
data = map2(data, month, ~mutate(.x, month = .y)),
data = map2(data, year, ~mutate(.y, year = .y)))
Однако, если вы хотите использовать цикл, вы также можете сделать это иЯ бы порекомендовал список фреймов данных в этом случае.
year <- c(2014:2016)
month = c("Jan", "Feb", "Mar", "Apr", "May", "June", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
df.list <- list()
for(i in seq_along(year)){
for (k in seq_along(month)){
infile <- paste(year[[i]], " GP",".xlsx",sep="")
name<- paste("X",year[[i]],"_GP",sep="")
df.list[[i]] <- read_excel(infile, sheet = month[[k]])
}
}