R: общее выравнивание JSON к data.frame
Этот вопрос касается общего механизма для преобразования любого набора нециклических однородных или гетерогенных структур данных в фрейм данных. Это может быть особенно полезно при работе со многими документами JSON или с большим документом JSON, который представляет собой массив словарей.
Есть несколько вопросов SO, которые касаются управления глубоко вложенными структурами JSON и превращения их в кадры данных с использованием таких функций, какplyr
, lapply
и т. д. Все вопросы и ответы, которые я нашел, относятся к конкретным случаям, а не предлагают общий подход к работе с коллекциями сложных структур данных JSON.
В Python и Ruby я хорошо справился с реализацией универсальной утилиты сглаживания структуры данных, которая использует путь к конечному узлу в структуре данных в качестве имени значения на этом узле в сглаженной структуре данных. Например, значениеmy_data[['x']][[2]][['y']]
будет выглядеть какresult[['x.2.y']]
.
Если имеется набор этих структур данных, которые могут быть не полностью однородными, ключом к успешному сглаживанию фрейма данных будет обнаружение имен всех возможных столбцов фрейма данных, например, путем объединения всех ключей / имен значения в индивидуально сплющенных структурах данных.
Это похоже на общий шаблон, и поэтому я задаюсь вопросом, кто-то уже построил это для R. Если нет, я построю его, но, учитывая уникальные структуры данных, основанные на обещаниях R, я буду признателен за совет по реализации. подход, который сводит к минимуму кучи молотком