R-кадр данных со столбцом, содержащим строку JSON, требуется проанализировать указанный столбец и добавить столбцы в исходный кадр данных - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу проанализировать указанный столбец c из моего фрейма данных, который является журналом событий из системы электронной торговли, чтобы извлечь данные из строки json и добавить их в исходный фрейм данных, чтобы я обогатил Журналы событий.

базовый кадр данных c выглядит следующим образом данные должны быть проанализированы. JSON выглядит следующим образом

[{"inquiryNumber":207081175,"inquiryLineNumber":2,"parts":[{"make":"506","partno":"104985","isConsequent":false}]},{"inquiryNumber":207081175,"inquiryLineNumber":1,"parts":[{"make":"506","partno":"104984","isConsequent":false}]}]

, что означает, что мы можем иметь несколько строк queryLines для 1 queryNumber. Цель состоит в том, чтобы сгладить данные и продублировать записи в исходном кадре данных, чтобы иметь запись для каждого номера строки запроса.

Номер строки запроса уже существует в исходном кадре данных, но равен NA, если есть JSON в selectedInquiries и наоборот.

Я попытался извлечь строки с selectedInquiries! = NA и, задав им rownumber, попытаться обработать их за пределами исходного кадра данных, чтобы затем позже после обработки присоединиться к ним.

В настоящее время это мой код для обработки:

mts_test_1 <- mts_events %>%
                filter(!is.na(selectedInquiries)) %>%
                select(selectedInquiries) %>%
                #rowwise() %>% 
                #as.tbl_json(json.column = "selectedInquiries") %>%
                spread_values(inquiryNumber = jstring("inquiryNumber"), inquiryLineNumber = jstring("inquiryLineNumber")) %>%
                enter_object("parts") %>% 
                gather_array %>% 
                spread_values(make = jstring("make"),
                              partno = jstring("partno"),
                              isConsequent = jlogical("isConsequent")) %>% tbl_df

, но mts_test_1 предоставляет следующий фрейм данных

enter image description here

Итак Основной вопрос: как заполнить фрейм данных данными из json строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...