Hi,
I have a set of lists inside a tibble (same length) and I want to extract them into one single dataframe.
I enclose a minimal reprex to show exactly my needs, but Im looking for a prettier way (specially to have the same variable names in the new dataframe)
Thank you for your help in advance,
M
library(tidyverse)
df <- tibble::tribble(
~price, ~size,
c(" 56.9 M Ft ", " 53.24 M Ft ", " 67.62 M Ft ", " 52.48 M Ft ", " 63.89 M Ft ", " 75.63 M Ft ", " 65.51 M Ft ", " 59.9 M Ft ", " 79.9 M Ft ", " 54.9 M Ft ", " 66.1 M Ft ", " 48 M Ft ", " 28.5 M Ft ", " 76.48 M Ft ", " 44.9 M Ft ", " 43.69 M Ft ", " 66.12 M Ft ", " 60.7 M Ft ", " 58.5 M Ft ", " 60.85 M Ft "), c(" 63 m2", " 57 m2", " 78 m2", " 43 m2", " 63 m2", " 49 m2", " 69 m2", " 66 m2", " 84 m2", " 71 m2", " 76 m2", " 50 m2", " 30 m2", " 73 m2", " 69 m2", " 39 m2", " 78 m2", " 67 m2", " 62 m2", " 64 m2"),
c(" 60.31 M Ft ", " 43.73 M Ft ", " 46.33 M Ft ", " 68.36 M Ft ", " 83.53 M Ft ", " 94.4 M Ft ", " 42.42 M Ft ", " 79.95 M Ft ", " 100.51 M Ft ", " 59 M Ft ", " 42.74 M Ft ", " 54.9 M Ft ", " 51.9 M Ft ", " 69.2 M Ft ", " 44.48 M Ft ", " 41.52 M Ft ", " 43.3 M Ft ", " 28.9 M Ft ", " 47.23 M Ft ", " 41.31 M Ft "), c(" 44 m2", " 40 m2", " 47 m2", " 68 m2", " 89 m2", " 87 m2", " 45 m2", " 93 m2", " 80 m2", " 87 m2", " 47 m2", " 67 m2", " 71 m2", " 75 m2", " 44 m2", " 32 m2", " 39 m2", " 33 m2", " 49 m2", " 48 m2"),
c(" 41.69 M Ft ", " 59.39 M Ft ", " 35 M Ft ", " 82.29 M Ft ", " 112.47 M Ft ", " 51.77 M Ft ", " 33.9 M Ft ", " 89.7 M Ft ", " 38 M Ft ", " 61.67 M Ft ", " 42.85 M Ft ", " 43.81 M Ft ", " 46.37 M Ft ", " 49.38 M Ft ", " 47.12 M Ft ", " 128.79 M Ft ", " 109.82 M Ft ", " 83.4 M Ft ", " 114.71 M Ft ", " 33.87 M Ft "), c(" 45 m2", " 60 m2", " 31 m2", " 77 m2", " 82 m2", " 59 m2", " 60 m2", " 64 m2", " 47 m2", " 79 m2", " 45 m2", " 39 m2", " 40 m2", " 44 m2", " 44 m2", " 107 m2", " 81 m2", " 78 m2", " 119 m2", " 34 m2")
)
df
#> # A tibble: 3 x 2
#> price size
#> <list> <list>
#> 1 <chr [20]> <chr [20]>
#> 2 <chr [20]> <chr [20]>
#> 3 <chr [20]> <chr [20]>
df %>%
mutate(
df = pmap(.l = list(price, size), as.data.frame)
) %>%
pull(df) %>%
reduce(rbind)
#> .l[[1L]][[i]]
#> 63 m2 56.9 M Ft
#> 57 m2 53.24 M Ft
#> 78 m2 67.62 M Ft
#> 43 m2 52.48 M Ft
#> 63 m21 63.89 M Ft
#> 49 m2 75.63 M Ft
#> 69 m2 65.51 M Ft
#> 66 m2 59.9 M Ft
#> 84 m2 79.9 M Ft
#> 71 m2 54.9 M Ft
#> 76 m2 66.1 M Ft
#> 50 m2 48 M Ft
#> 30 m2 28.5 M Ft
#> 73 m2 76.48 M Ft
#> 69 m21 44.9 M Ft
#> 39 m2 43.69 M Ft
#> 78 m21 66.12 M Ft
#> 67 m2 60.7 M Ft
#> 62 m2 58.5 M Ft
#> 64 m2 60.85 M Ft
#> 44 m2 60.31 M Ft
#> 40 m2 43.73 M Ft
#> 47 m2 46.33 M Ft
#> 68 m2 68.36 M Ft
#> 89 m2 83.53 M Ft
#> 87 m2 94.4 M Ft
#> 45 m2 42.42 M Ft
#> 93 m2 79.95 M Ft
#> 80 m2 100.51 M Ft
#> 87 m21 59 M Ft
#> 47 m21 42.74 M Ft
#> 67 m21 54.9 M Ft
#> 71 m21 51.9 M Ft
#> 75 m2 69.2 M Ft
#> 44 m21 44.48 M Ft
#> 32 m2 41.52 M Ft
#> 39 m21 43.3 M Ft
#> 33 m2 28.9 M Ft
#> 49 m21 47.23 M Ft
#> 48 m2 41.31 M Ft
#> 45 m21 41.69 M Ft
#> 60 m2 59.39 M Ft
#> 31 m2 35 M Ft
#> 77 m2 82.29 M Ft
#> 82 m2 112.47 M Ft
#> 59 m2 51.77 M Ft
#> 60 m21 33.9 M Ft
#> 64 m21 89.7 M Ft
#> 47 m22 38 M Ft
#> 79 m2 61.67 M Ft
#> 45 m22 42.85 M Ft
#> 39 m22 43.81 M Ft
#> 40 m21 46.37 M Ft
#> 44 m22 49.38 M Ft
#> 44 m23 47.12 M Ft
#> 107 m2 128.79 M Ft
#> 81 m2 109.82 M Ft
#> 78 m22 83.4 M Ft
#> 119 m2 114.71 M Ft
#> 34 m2 33.87 M Ft
Created on 2021-04-21 by the reprex package (v0.3.0)