Search code examples
rtidyversepurrr

how to use Purrr/reduce combine dataframe objects


There are data.frame objects in R environment named as 'data_1\data_2\....data_20', reduce(objects,rbind) failed ,anyone can help ? Thanks!

library(tidyverse)
for (i in c(1:20)){
  assign(paste0('data_',i),data.frame(category=c('a','b'),sales=c(1,2)))
}

objects <- ls(pattern='data') %>%  as.list() 
data_total <- reduce(objects,rbind)

below code can work,but have to input data_1\data_2\....data_20 as parmeter

data_total <- reduce(list(data_1,data_2),rbind)

Solution

  • You can do this:

    library(tidyverse)
    
    data_frames <- str_c("data_", 1:20)
    
    map_dfr(data_frames, get)