【发布时间】:2018-01-22 02:31:15
【问题描述】:
我有一个 data.frame(从 jsonlite::fromJSON 读取),其中包含一些 data.frame 列表,例如:
# > str(dat)
# 'data.frame': 2 obs. of 3 variables:
# $ id : int 1 2
# $ name : chr "Julie" "Justin"
# $ score :List of 2
# ..$ : NULL
# ..$ :'data.frame': 5 obs. of 2 variables:
# .. ..$ rid : int 1 2 3 4 5
# .. ..$ math : int 5 17 19 12 16
我想把数据转换成如下形式:
# id name score.rid score.math
# 1 Julie NA NA
# 2 Justin 1 5
# 2 Justin 2 17
# 2 Justin 3 19
# 2 Justin 4 12
# 2 Justin 5 16
【问题讨论】:
-
能否请您显示示例的
dput。可能与tidyversedat %>% mutate(score = map(score, ~if(is.null(.x)) tibble(rid = rep(NA, 5), math = rep(NA, 5)) else as_tibble(.x))) %>% unnest一起工作。不清楚为什么“朱莉”的行应该是相同的 -
@TimBiegeleisen 那篇文章即将绑定两个data.frame,但我的问题是要转换一个包含列表的data.frame
-
@akrun 那是我的错,我会更新问题
-
另外,是否可以有超过 2 个具有不同行数的嵌套数据集,在这种情况下,如果有一个
NULL数据集,那么该数据集的行数是多少