У меня есть вложенные списки с именами:
lst <- list(var1 = list(`0.1` = c(100, 10, 1, 0.1, 0.01), `0.2` = c(100,
20, 4, 0.8, 0.16), `0.3` = c(100, 30, 9, 2.7, 0.81), `0.4` = c(100,
40, 16, 6.4, 2.56), `0.5` = c(100, 50, 25, 12.5, 6.25), `0.6` = c(100,
60, 36, 21.6, 12.96), `0.7` = c(100, 70, 49, 34.3, 24.01), `0.8` = c(100,
80, 64, 51.2, 40.96), `0.9` = c(100, 90, 81, 72.9, 65.61)), var2 = list(
`0.1` = c(10, 11, 11.1, 11.11, 11.111), `0.2` = c(10, 12,
12.4, 12.48, 12.496), `0.3` = c(10, 13, 13.9, 14.17, 14.251
), `0.4` = c(10, 14, 15.6, 16.24, 16.496), `0.5` = c(10,
15, 17.5, 18.75, 19.375), `0.6` = c(10, 16, 19.6, 21.76,
23.056), `0.7` = c(10, 17, 21.9, 25.33, 27.731), `0.8` = c(10,
18, 24.4, 29.52, 33.616), `0.9` = c(10, 19, 27.1, 34.39,
40.951)))
Я хочу преобразовать его во фрейм данных. Я мог бы сделать это с dplyr::bind_cols
, но тогда мои имена частично потерялись:
# A tibble: 5 x 18
`0.1` `0.2` `0.3` `0.4` `0.5` `0.6` `0.7` `0.8` `0.9` `0.11` `0.21` `0.31` `0.41` `0.51` `0.61` `0.71` `0.81`
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 100 100 100 100 100 100 100 100 100 10 10 10 10 10 10 10 10
2 10 20 30. 40 50 60 70 80 90 11 12 13 14 15 16 17 18
3 1 4 9. 16 25 36 49. 64 81 11.1 12.4 13.9 15.6 17.5 19.6 21.9 24.4
4 0.1 0.8 2.7 6.4 12.5 21.6 34.3 51.2 72.9 11.1 12.5 14.2 16.2 18.8 21.8 25.3 29.5
5 0.01 0.16 0.81 2.56 6.25 13.0 24.0 41.0 65.6 11.1 12.5 14.3 16.5 19.4 23.1 27.7 33.6
# ... with 1 more variable: `0.91` <dbl>
, в то время как я хотел бы создать информативные имена, объединяющие имена из двух уровней списка вместе. Таким образом, в результате вы получите:
# A tibble: 5 x 18
var1_0.1 var1_0.2 var1_0.3 var1_0.4 var1_0.5 var1_0.6 var1_0.7 var1_0.8 var1_0.9 var2_0.1 var2_0.2 var2_0.3 var2_0.4
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 100 100 100 100 100 100 100 100 100 10 10 10 10
2 10 20 30. 40 50 60 70 80 90 11 12 13 14
3 1 4 9. 16 25 36 49. 64 81 11.1 12.4 13.9 15.6
4 0.1 0.8 2.7 6.4 12.5 21.6 34.3 51.2 72.9 11.1 12.5 14.2 16.2
5 0.01 0.16 0.81 2.56 6.25 13.0 24.0 41.0 65.6 11.1 12.5 14.3 16.5
# ... with 5 more variables: var2_0.5 <dbl>, var2_0.6 <dbl>, var2_0.7 <dbl>, var2_0.8 <dbl>, var2_0.9 <dbl>
Как мне добиться этого наиболее эффективным способом?