У меня есть следующий вложенный список:
mylist <- list(
list(
id = 1234,
attributes = list(
list(
typeId = 11,
type = 'Main',
date = '2018-01-01',
attributes= list(
list(
team = 'team1',
values = list(
value1 = 1,
value2 = 999)),
list(
team = 'team2',
values = list(
value1 = 2,
value2 = 888))
)
),
list(
typeId = 12,
type = 'Extra',
date = '2018-01-02',
attributes= list(
list(
team = 'team1',
values = list(
value1 = 3,
value2 = 1234)),
list(
team = 'team2',
values = list(
value1 = 4,
value2 = 9876))
)
)
)
)
)
, который я хочу преобразовать в фрейм данных, где каждая дочерняя запись находится в строке вместе со всеми ее родительскими записями.Таким образом, я бы получил фрейм данных, который выглядит как
id type_id type date team value1 value2
1 1234 11 Main 2018-08-01 team1 1 999
2 1234 11 Main 2018-08-01 team2 2 888
3 1234 12 Extra 2018-08-02 team1 3 1234
4 1234 12 Extra 2018-08-02 team2 4 9876
. Я не всегда знаю имена в моем списке, поэтому мне нужен общий способ сделать это без указания имен столбцов
РЕДАКТИРОВАТЬ
У меня есть ответ на мой первоначальный вопрос, но в ответ на комментарий Parfaits «Если вы публикуете оригинальный JSON и код импорта R, возможно, будет доступно более простое решение».
Я могу получить мой оригинальный JSON из URL-адреса, используя код R:
httr::GET(
feed_url,
authenticate(username, password)
) %>%
httr::content()
В URL-адресе JSON будет выглядеть следующим образом:
[{"id":[1234],"attributes":[{"typeId":[11],"type":["Main"],"date":["2018-01-01"],"attributes":[{"team":["team1"],"values":{"value1":[1],"value2":[999]}},{"team":["team2"],"values":{"value1":[2],"value2":[888]}}]},{"typeId":[12],"type":["Extra"],"date":["2018-01-02"],"attributes":[{"team":["team1"],"values":{"value1":[3],"value2":[1234]}},{"team":["team2"],"values":{"value1":[4],"value2":[9876]}}]}]}]