【发布时间】:2020-05-31 21:38:33
【问题描述】:
我有一个包含两列列表的数据框。
test <- data.frame(var_1 = c("ONE", "TWO"))
test$var_2 <- c(list(data.frame(Date = c("Date 1", "Date 2")), list(data.frame(Date = c("Date 3", "Date 4", "Date 5")))))
test$var_3 <- c(list(data.frame(Name = c("Name 1", "Name 2")), list(data.frame(Date = c("Name 3", "Name 4", "Name 5")))))
我想循环遍历列表以创建一个扁平的数据框,重复 var_1 以获得每行列表的长度
期望的输出
data.frame(var_1 = c("ONE", "ONE", "TWO", "TWO", "TWO"),
Date = c("Date 1", "Date 2", "Date 3", "Date 4", "Date 5"),
Name = c("Name 1", "Name 2", "Name 3", "Name 4", "Name 5"))
var_1 Date Name
1 ONE Date 1 Name 1
2 ONE Date 2 Name 2
3 TWO Date 3 Name 3
4 TWO Date 4 Name 4
5 TWO Date 5 Name 5
我尝试应用一些建议的解决方案,例如使用这篇文章Flatten list column in data frame with ID column 中的unnest,但这并没有完全达到我想要的结果。
【问题讨论】:
标签: r dataframe data.table lapply purrr