Преобразовать список JSON в фрейм данных - PullRequest
0 голосов
/ 03 сентября 2018

У меня проблема с преобразованием файла json во фрейм данных. Я использую функции jsonlite и fromJSON () с функцией unlist (), но мне не удается получить данные в нужной модели данных.

Файл Json структурирован следующим образом:

{"JOHN":["AZ","YZ","ZE","ZR","FZ"],"MARK":["FZ","JF","FS"],"LINDA":["FZ","RZ","QF"]}

И я хотел бы иметь фрейм данных, подобный этому:

NAME GROUP
JOHN  AZ
JOHN  YZ
JOHN  ZE
JOHN  ZR
JOHN  FZ
MARK  FZ
MARK  JF
MARK  FS
...

Спасибо!

1 Ответ

0 голосов
/ 03 сентября 2018

Мы можем использовать fromJSON из jsonlite, чтобы получить list из key/value векторов, преобразовать их в двухстоечный файл data.frame с stack, переставить столбцы и изменить имена столбцов (при необходимости) ).

library(jsonlite)
setNames(stack(fromJSON(str1))[2:1], c("NAME", "GROUP"))
#    NAME GROUP
#1   JOHN    AZ
#2   JOHN    YZ
#3   JOHN    ZE
#4   JOHN    ZR
#5   JOHN    FZ
#6   MARK    FZ
#7   MARK    JF
#8   MARK    FS
#9  LINDA    FZ
#10 LINDA    RZ
#11 LINDA    QF

данные

str1 <- '{"JOHN":["AZ","YZ","ZE","ZR","FZ"],"MARK":["FZ","JF","FS"],"LINDA":["FZ","RZ","QF"]}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...