将data.frames拆分为多行

时间:2017-07-21 10:24:06

标签: r dataframe split

我有一个data.frame,其中一列包含data.frames。

data <- data.frame(ID = c(1,2))
data$DF <- list(data.frame(x = c(1,2), y = c(3,5)), data.frame(x = c(1,2,3), y = c(3,5,7)))
data
ID      DF
1       1, 2, 3, 5
2       1, 2, 3, 3, 5, 7

我想将这些数据拆分成长格式。

ID      DF.x     DF.y
1       1        3
1       2        5
2       1        3  
2       2        5
2       3        7

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:2)

我们可以使用unnest

中的tidyr
library(tidyr)
unnest(data)

base R选项

cbind(ID = rep(data$ID, sapply(data$DF, nrow)), do.call(rbind, data$DF))