考虑这个简单的例子
> weird_df <- data_frame(col1 =c('hello', 'world', 'again'),
+ col_weird = list(list(12,23), list(23,24), NA))
>
> weird_df
# A tibble: 3 x 2
col1 col_weird
<chr> <list>
1 hello <list [2]>
2 world <list [2]>
3 again <lgl [1]>
我需要提取col_weird
中的值。我该如何做?我知道如何在Python中实现,但不知道如何在R中实现。期望输出为:
> good_df
# A tibble: 3 x 3
col1 tic toc
<chr> <dbl> <dbl>
1 hello 12 23
2 world 23 24
3 again NA NA
unlist(weird_df$col_weird[[1]])
unlist(weird_df$col_weird[[2]])
- Enrique Pérez Herreroweird_df %>% rowwise() %>% mutate(col_weird = list(unlist(col_weird))) %>% ungroup %>% unnest %>% group_by(col1) %>% mutate(rn = c('tic', 'toc')[row_number()]) %>% spread(rn, col_weird)
- akrunlibrary(purrr);library(reshape2);weird_df$col_weird %>% map(unlist) %>% setNames(., weird_df$col1) %>% melt %>% group_by(L1) %>% mutate(rn = c('tic', 'toc')[row_number()]) %>% spread(rn, value)
。 - akrun