首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何展开包含有列表的列的data.frame

如何展开包含有列表的列的data.frame
EN

Stack Overflow用户
提问于 2018-06-21 13:18:00
回答 1查看 288关注 0票数 1

我有一个data.frame,其中有一个列,其中包含一个值列表:

代码语言:javascript
复制
d <- data.frame(id=1:2, parent=c("Jon", "Mark"))
d$children <-  list(c("Mary", "James"), c("Greta", "Sally"))

如何将此data.frame转换为以下结构:

代码语言:javascript
复制
target_df <- data.frame(id=1:4, parent=c("Jon", "Jon","Mark", "Mark"), children = c("Mary", "James","Greta", "Sally"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 13:20:52

您应该使用unnesttidyr或者您可以映射的tidyverse,对不起,之前,我已经映射了tidyverse .Rprofile文件。不管怎样,

代码语言:javascript
复制
library(tidyverse) #or map library(tidyr) whatever suits you
d %>% 
  unnest(children) %>%
  mutate(id = 1:row_number()) #You may not want to run this if you want to keep your original id

此外,在基R方法中:

代码语言:javascript
复制
d_new <- do.call('rbind', do.call('Map', c(data.frame, d)))

同样,要重置id,我们必须使用1:nrow(d)

代码语言:javascript
复制
d_new$id <- 1:nrow(d) #This may not be required if you don't want to reset your id

谢谢大家的评论,我们都欢迎他们,是的,我不知所措。感谢罗纳克·沙阿,@r2evans

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50969565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档