Я хочу проанализировать указанный столбец 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 предоставляет следующий фрейм данных
Итак Основной вопрос: как заполнить фрейм данных данными из json строк