【发布时间】:2017-12-01 04:45:01
【问题描述】:
我遇到了很多嵌套在 data.frame 列中的列表,并且在可能的情况下看不到任何用于展平这些列表的通用方法 - 即,当嵌套元素可能被强制转换为具有相同行数的 data.frame 时父母。考虑这些嵌套示例:
require(dplyr)
data_frame(a=1:3, b = c('a','b','c'), c = list('cats','dogs','birds'))
#> # A tibble: 3 x 3
#> a b c
#> <int> <chr> <list>
#> 1 1 a <chr [1]>
#> 2 2 b <chr [1]>
#> 3 3 c <chr [1]>
data_frame(a=1:3, b = c('a','b','c'), c = list(iris[1:3,]))
#> # A tibble: 3 x 3
#> a b c
#> <int> <chr> <list>
#> 1 1 a <data.frame [3 x 5]>
#> 2 2 b <data.frame [3 x 5]>
#> 3 3 c <data.frame [3 x 5]>
data_frame(a=1:3, b = c('a','b','c'), c = list(iris[1,], iris[2,], iris[3,]))
#> # A tibble: 3 x 3
#> a b c
#> <int> <chr> <list>
#> 1 1 a <data.frame [1 x 5]>
#> 2 2 b <data.frame [1 x 5]>
#> 3 3 c <data.frame [1 x 5]>
有没有一种优雅的通用方法来展平这些?我找到的最接近的是jsonlite::flatten,它声称“扁平化嵌套数据框”,但它似乎无法处理这些示例中的嵌套列表。
【问题讨论】:
标签: r