Я пытаюсь преобразовать столбец в извлечении данных в data.frame
Допустим, в таблице extract
, у меня есть столбец extract$stage
типа: символ , первые 11 строк которого выглядят аналогично следующим
extract <- read.table (text =
'stage
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":[{"Type":"Land","Max":"60%"},{"Type":"Dcon","Max":"70%"},{"Type":"Finish","Max":"80%"}]}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":[{"Type":"Land","Max":"80%"},{"Type":"Dcon","Max":"80%"},{"Type":"Finish","Max":"80%"}]}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}
{"Stages":{"SBS":{"Type":"N/A","Max":"N/A"}}}',
header = T, stringsAsFactors = F)
. В конце я хочу получить кадр данных с тем же количеством строк, но с дополнительными столбцами, чтобы динамически завершать структурузахватывает любое из полей внутреннего гнезда, и я получаю 11 строк этого макета:
Record Type.NA Max.NA Type.Land Max.Land Type.Dcon Max.Dcon Type.Finish Max.Finish
1 NA NA NA NA NA NA NA NA
...
4 NA NA Land 60% Dcon 70% Finish 80%
Я пробовал комбинации jsonlite :: fromJSON и do.call.
Я могу добраться досписок с первого, через
lapply(extract$stage, jsonlite::fromJSON)
, но я не могу разложить это на несколько столбцов.
Может кто-нибудь помочь?
Спасибо!