Разбиение словарной строки на несколько переменных в R - PullRequest
0 голосов
/ 16 сентября 2018

Мне дали набор данных, где значения в определенных переменных выглядят как ...

{"varname": "value", "varname2": "value2", "varname3": "value3"} 

, и я хочу быстрый эффективный способ разбить его на 3 отдельные переменные, где имя переменной равноимя столбца и значения соответствуют его вектору.Это должно быть в R, иначе функциональность словаря питонов справится с этим легко.Любые идеи будут с благодарностью!

Ответы [ 2 ]

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

Вы можете использовать функцию fromJSON() из пакета jsonlite, чтобы проанализировать словарь Python в R list и затем преобразовать его во фрейм данных с помощью as.data.frame().После этого вы можете получить доступ к каждой переменной, используя r_df$...

py_dict <- '{"varname": "value", "varname2": "value2", "varname3": "value3"}'
r_list <- jsonlite::fromJSON(txt = py_dict)
r_df <- as.data.frame(r_list)
r_df

#>   varname varname2 varname3
#> 1   value   value2   value3

, созданный в 2018-09-16 пакетом Представить (v0.2.1)

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

У вас есть простой JSON:

# install.packages("rjson")  # If you don't have this package, run this line   
library("rjson")
str <- '{"varname": "value", "varname2": "value2", "varname3": "value3"}'
json_data <- fromJSON(str)

Выход дает переменную в списке:

$`varname`
[1] "value"

$varname2
[1] "value2"

$varname3
[1] "value3"

Теперь, если вы преобразуете его в фрейм данных, он даст вам точный результат, который вам нужен:

as.data.frame(json_data  )

А Конечный выход составляет:

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