将 JSON 嵌套到 R 中的数据帧

Jer*_*een 4 json r

我有一个嵌套的 JSON 文件,具有以下结构:

{"category1": {"town1": 8,"town2": 2},"category2": {"town1": 4,"town2": 3}}
Run Code Online (Sandbox Code Playgroud)

我想将 JSON 导入到 R 中,结构如下:

categories  towns   number
category1   town1   8
category1   town2   2
category2   town1   4
category2   town2   3
Run Code Online (Sandbox Code Playgroud)

我尝试过 fromJSON,也使用 Flatten = TRUE,但这并没有给我我想要的。我可以在 R 中做什么来获得我想要的结构?

Col*_*vel 5

诀窍是使用stack

library(jsonlite)
lst = fromJSON(json)
transform(stack(lst), towns=c(sapply(lst, names)))

#  values       ind towns
#1      8 category1 town1
#2      2 category1 town2
#3      4 category2 town1
#4      3 category2 town2
Run Code Online (Sandbox Code Playgroud)

使用plyr,简洁的单行是:

library(plyr)
ldply(fromJSON(json), stack)
Run Code Online (Sandbox Code Playgroud)

数据:

json = '{"category1": {"town1": 8,"town2": 2},"category2": {"town1": 4,"town2": 3}}'
Run Code Online (Sandbox Code Playgroud)