我想将列表层次结构(类似于 JSON)展平为矩阵或数据框。假设我创建了以下列表:
a <- list(
b1 = list(
c1 = list(
d1 = data.frame()
),
c2 = data.frame()
),
b2 = data.frame()
)
每个字母是另一个级别或降低层次结构。然后我想要一个函数,例如listToMatrix(mylist = a, steps = 2)
,生成以下内容:
[,1] [,2]
[1,] "b1" "c1"
[2,] "b1" "c2"
[3,] "b2" "b2"
观察到函数的参数steps = 2
暗示它应该只在层次结构中下降 2 步。此外,如果在一个方向上没有足够的可用级别,请参阅b2
,那么它应该将前一个列表名称保留在矩阵中。
有什么建议么?:)