Я хотел бы сгладить иерархию списка (похожую на 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
, тогда оно должно содержать предыдущее имя списка в матрице.
Любые предложения?:)