在tidyr的许多列中单独列出一列列表

Ras*_*dha 3 r tidyr

例如,我有一个整洁的数据框,如下所示:

df <- tibble(id=1:2,
         ctn=list(list(a="x",b=1),
                  list(a="y",b=2)))
# A tibble: 2 x 2
     id        ctn
  <int>     <list>
1     1 <list [2]>
2     2 <list [2]>
Run Code Online (Sandbox Code Playgroud)

我怎么能不在ctn右边的列,以便数据框将是这样的:

# A tibble: 2 x 3
     id     a     b
  <int> <chr> <dbl>
1     1     x     1
2     2     y     2
Run Code Online (Sandbox Code Playgroud)

And*_*din 9

随着dplyrpurrr

df %>% 
  mutate(ctn = map(ctn, as_tibble)) %>%
  unnest()
Run Code Online (Sandbox Code Playgroud)
# A tibble: 2 x 3
     id     a     b
  <int> <chr> <dbl>
1     1     x     1
2     2     y     2
Run Code Online (Sandbox Code Playgroud)