Я часто использую такую конструкцию, которая позволяет избежать явного построения цикла.
Стратегия заключается в том, чтобы сначала прочитать файлы в список data.frames, а затем rbind
собрать вместе элементы этогосписок в один data.frame.Вы можете предположительно адаптировать ту же логику к вашей ситуации.
filenames <- c("a.csv", "b.csv", "c.csv")
l <- lapply(filenames, read.csv)
do.call("rbind", l)