以长格式展开嵌套数据框单元格
Expand nested dataframe cell in long format
已从 mongo 获取信息,它看起来像这样:
我想以这样的方式扩展 part_list :
已经检查了这个解决方案(),但它似乎不适用于我的情况。
此外,我无法为 post 此处的可重现代码创建这样的数据框。我应该如何扩展它?
您可以在 tidyr
中使用 unnest()
来扩展嵌套列。
tidyr::unnest(df, part_list)
# # A tibble: 3 x 2
# chapterid part_list
# <chr> <chr>
# 1 a c
# 2 a d
# 3 b e
数据
df <- data.frame(chapterid = c("a", "b"))
df$part_list <- list(c("c", "d"), "e")
# chapterid part_list
# 1 a c, d
# 2 b e
这是一个基本的 R 选项(感谢来自 的示例数据)
dfout <- setNames(with(df,data.frame(rep(chapterid,lengths(part_list)),unlist(part_list))),names(df))
这给出了
> dfout
chapterid part_list
1 a c
2 a d
3 b e
已从 mongo 获取信息,它看起来像这样:
我想以这样的方式扩展 part_list :
已经检查了这个解决方案(
此外,我无法为 post 此处的可重现代码创建这样的数据框。我应该如何扩展它?
您可以在 tidyr
中使用 unnest()
来扩展嵌套列。
tidyr::unnest(df, part_list)
# # A tibble: 3 x 2
# chapterid part_list
# <chr> <chr>
# 1 a c
# 2 a d
# 3 b e
数据
df <- data.frame(chapterid = c("a", "b"))
df$part_list <- list(c("c", "d"), "e")
# chapterid part_list
# 1 a c, d
# 2 b e
这是一个基本的 R 选项(感谢来自
dfout <- setNames(with(df,data.frame(rep(chapterid,lengths(part_list)),unlist(part_list))),names(df))
这给出了
> dfout
chapterid part_list
1 a c
2 a d
3 b e