unnest_longer列,包含char和list条目

2vuwiymt  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(100)

我正在尝试将JSON文件转换为Tibble。首先,我将JSON文件的所有列表条目合并为一个tibble,如下所示:

df <- tibble(none_nested = c("a", "b", "c"), 
             all_nested = c(list(list("a", "b")), list(list("a", "b")), list(list("a", "b"))), 
             some_nested = c("a", "b", list(list("a", "b")))
             )

问题是我不能在some_nested上调用unnest_longer。

unnest_longer(df, some_nested)

-> 
Error in `col_to_long()`:
! Can't combine `..1$some_nested` <character> and `..4$some_nested` <list>.
kknvjkwl

kknvjkwl1#

在some_nested列中,有些行不在列表中(第一行和第二行是char格式),所以不能使用unnest_longer。
下面的代码应该工作

df |> 
  mutate(some_nested = map(some_nested, ~if(is.list(.x)) .x else list(.x))) |> 
  unnest_longer(some_nested)

相关问题