title: Map and bind different dataframes given a list of different dataframes
body: <p>Given a function <code>foo</code> that outputs a list of 3 dataframes:</p>
  
  <pre><code>structure(list(isSameUser = structure(1:2, .Label = c("0", "1"
  ), class = "factor"), n = c(212L, 72L), cum_n = c(212L, 284L), 
      user_id = c(1, 1)), .Names = c("isSameUser", "n", "cum_n", 
  "user_id"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
  -2L))
  
  structure(list(isSameUser = structure(1:2, .Label = c("0", "1"
  ), class = "factor"), n = c(54L, 18L), cum_n = c(54L, 72L), user_id = c(1, 
  1)), .Names = c("isSameUser", "n", "cum_n", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -2L))
  
  structure(list(error_abs_perc = 0.0694444444444444, user_id = 1), .Names = c("error_abs_perc", 
  "user_id"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
  -1L))
  </code></pre>
  
  <p>I have 1000 users ----> meaning I have 1000*3 dataframes, 1000 of the first, 1000 of the second and 1000 of the third.
  Please advise how can I <code>map_dfr</code> it and get 3 binded dataframes.</p>
  
  <p>I am trying to do this using <code>imap_dfr</code> and <code>map_dfr</code>.</p>
  
  <p>Tried this:
  <a href="https://stackoverflow.com/questions/48494088/use-dplyrbind-rows-and-purrr-to-selectively-bind-different-dataframes-in-a-lis">Use Dplyr::Bind_Rows and Purrr to Selectively Bind Different Dataframes In a List of Dataframes</a></p>
  
  <p>But it doesn't solve my issue.</p>
  
  <p>Per @markus request:</p>
  
  <pre><code>list(structure(list(train_stats = structure(list(isSameUser = structure(1:2, .Label = c("0", 
  "1"), class = "factor"), n = c(212L, 72L), cum_n = c(212L, 284L
  ), user_id = c(1L, 1L)), .Names = c("isSameUser", "n", "cum_n", 
  "user_id"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
  -2L)), test_stats = structure(list(isSameUser = structure(1:2, .Label = c("0", 
  "1"), class = "factor"), n = c(54L, 18L), cum_n = c(54L, 72L), 
      user_id = c(1L, 1L)), .Names = c("isSameUser", "n", "cum_n", 
  "user_id"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
  -2L)), test_set_error = structure(list(error_abs_perc = 0.0694444444444444, 
      user_id = 1L), .Names = c("error_abs_perc", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -1L))), .Names = c("train_stats", 
  "test_stats", "test_set_error")), structure(list(train_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(238L, 46L), cum_n = c(238L, 284L), user_id = c(2L, 
      2L)), .Names = c("isSameUser", "n", "cum_n", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -2L)), test_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(60L, 12L), cum_n = c(60L, 72L), user_id = c(2L, 2L)), .Names = c("isSameUser", 
  "n", "cum_n", "user_id"), class = c("tbl_df", "tbl", "data.frame"
  ), row.names = c(NA, -2L)), test_set_error = structure(list(error_abs_perc = 0.0555555555555556, 
      user_id = 2L), .Names = c("error_abs_perc", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -1L))), .Names = c("train_stats", 
  "test_stats", "test_set_error")), structure(list(train_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(232L, 52L), cum_n = c(232L, 284L), user_id = c(3L, 
      3L)), .Names = c("isSameUser", "n", "cum_n", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -2L)), test_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(58L, 14L), cum_n = c(58L, 72L), user_id = c(3L, 3L)), .Names = c("isSameUser", 
  "n", "cum_n", "user_id"), class = c("tbl_df", "tbl", "data.frame"
  ), row.names = c(NA, -2L)), test_set_error = structure(list(error_abs_perc = 0.0138888888888889, 
      user_id = 3L), .Names = c("error_abs_perc", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -1L))), .Names = c("train_stats", 
  "test_stats", "test_set_error")), structure(list(train_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(224L, 60L), cum_n = c(224L, 284L), user_id = c(4L, 
      4L)), .Names = c("isSameUser", "n", "cum_n", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -2L)), test_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(56L, 16L), cum_n = c(56L, 72L), user_id = c(4L, 4L)), .Names = c("isSameUser", 
  "n", "cum_n", "user_id"), class = c("tbl_df", "tbl", "data.frame"
  ), row.names = c(NA, -2L)), test_set_error = structure(list(error_abs_perc = 0.0694444444444444, 
      user_id = 4L), .Names = c("error_abs_perc", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -1L))), .Names = c("train_stats", 
  "test_stats", "test_set_error")), structure(list(train_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(232L, 52L), cum_n = c(232L, 284L), user_id = c(5L, 
      5L)), .Names = c("isSameUser", "n", "cum_n", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -2L)), test_stats = structure(list(
      isSameUser = structure(1:2, .Label = c("0", "1"), class = "factor"), 
      n = c(58L, 14L), cum_n = c(58L, 72L), user_id = c(5L, 5L)), .Names = c("isSameUser", 
  "n", "cum_n", "user_id"), class = c("tbl_df", "tbl", "data.frame"
  ), row.names = c(NA, -2L)), test_set_error = structure(list(error_abs_perc = 0.0138888888888889, 
      user_id = 5L), .Names = c("error_abs_perc", "user_id"), class = c("tbl_df", 
  "tbl", "data.frame"), row.names = c(NA, -1L))), .Names = c("train_stats", 
  "test_stats", "test_set_error")))
  </code></pre>