将JSON嵌套到数据框R

时间:2019-07-25 10:20:02

标签: r json jsonlite

我有一个嵌套的json,其中每个对象都包含许多模拟,并且每个模拟都有一些键值对。

我对数据进行了一些更改,将模拟保存为json中的dict对象,并且代码运行正常,但是我们更改了模拟并将其保存为列表(数组),并且代码现在无法正常工作。

我尝试过不同的事情,但是我总是以相同的结果结束。

代码:

  file <- 'myfile.json'
  j.data <- fromJSON(file)

  data_raw <- enframe((j.data))

  rgx_split <- "\\."
  n_cols_max <-
    data_raw %>%
    pull(name) %>% 
    str_split(rgx_split) %>% 
    map_dbl(~length(.)) %>% 
    max()

  nms_sep <- paste0("name", 1:n_cols_max)
  data <-
    data_raw %>% 
    separate(name, into = nms_sep, sep = rgx_split, fill = "right")

我当前以JSON格式存储的数据如下:

enter image description here

j.data中的每个项目都包含100个模拟。

我对如何将其转换为数据帧感到困惑。

上面的代码将其转换为:

enter image description here

在这里您可以看到,它将模拟中的所有调用和其他内容堆叠在一起。

我希望输出看起来像这样

caseName simulation# calls meter ... other_stuff_inside_a_simulation
case_a     1         10     20   .... 30
case_a     2          2     30   ....  32
....
case_a     100        20    37   ..... 12
case_b      1          2    34   ..... 98
case_b      2          21   4   .....  198
...
case_b      100        3    23   ...... 199

0 个答案:

没有答案
相关问题