我有一个嵌套的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格式存储的数据如下:
j.data中的每个项目都包含100个模拟。
我对如何将其转换为数据帧感到困惑。
上面的代码将其转换为:
在这里您可以看到,它将模拟中的所有调用和其他内容堆叠在一起。
我希望输出看起来像这样
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