我有一个包含嵌套数据框列的数据框。结构如下:
'data.frame': 2 obs. of 3 variables:
$ id : chr "001" "002"
$ name : chr "a" "b"
$ nestedList:List of 2
..$ :'data.frame': 3 obs. of 3 variables:
.. ..$ val1: num 100 101 102
.. ..$ val2: num 200 201 202
.. ..$ val3: num 300 301 302
..$ :'data.frame': 2 obs. of 3 variables:
.. ..$ val1: num 1000 1001
.. ..$ val2: num 2000 2001
.. ..$ val3: num 3000 3001
可以使用以下代码重新创建:
myNestedDataFrame <- data.frame(id = c("001", "002"), name = c("a", "b"), stringsAsFactors = FALSE)
myNestedDataFrame$nestedList[[1]] <- data.frame(val1 = c(100, 101, 102), val2 = c(200, 201, 202), val3 = c(300, 301, 302))
myNestedDataFrame$nestedList[[2]] <- data.frame(val1 = c(1000, 1001), val2 = c(2000, 2001), val3 = c(3000, 3001))
我正在尝试将数据转换为以下形式:
id name val1 val2 val3
1 001 a 100 200 300
2 001 a 101 201 301
3 001 a 102 203 302
4 002 b 1000 2000 3000
5 002 b 1001 2001 3001
我已经能够使用一系列复杂的循环和连接来实现这一点,但我不禁认为使用应用或映射函数有一个更优雅的解决方案。任何帮助将不胜感激。