【问题标题】:Expand nested dataframe cell in long format [duplicate]以长格式展开嵌套数据框单元格[重复]
【发布时间】:2020-11-10 18:34:59
【问题描述】:

已从 mongo 获取信息,它看起来像这样:

我想以如下方式扩展 part_list :

已检查此解决方案 (Expand nested dataframe into parent),但在我的情况下似乎不起作用。

我也无法创建这样的数据框来在此处发布可重现的代码。我应该如何扩展它?

【问题讨论】:

  • 您能否将dput(data) 的输出复制/粘贴到您的帖子中?通过这种方式,我们可以轻松导入您的数据。

标签: r mongodb mongolite


【解决方案1】:

您可以在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

【讨论】:

    【解决方案2】:

    这是一个基本的 R 选项(感谢来自@Darren Tsai 的示例数据)

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 2018-11-19
      • 2021-06-26
      • 2019-08-11
      相关资源
      最近更新 更多