r-将不均匀的json解析为tibble



如何将不均匀的json文件转换为整洁的数据?这里我有一个不均匀的json文件,我想改成整洁的数据。

library(tidyverse)
library(jsonlite)
read_json("https://api.osf.io/v2/search/?q=*&page=100&format=jsonapi") %>% 
as_tibble()
#> Error: Tibble columns must have compatible sizes.
#> * Size 5: Column `links`.
#> * Size 6: Column `search_fields`.
#> * Size 10: Column `data`.
#> ℹ Only values of size one are recycled.

对于一个如此开放的问题,很难找到具体的答案。数据也是大量嵌套的,不清楚如何正确地运行它。然而,一个开始的地方是unnest_wider你列表中的每个元素,然后试着找出你想从那里去哪里

library(tidyverse)
library(jsonlite)
data <- read_json("https://api.osf.io/v2/search/?q=*&page=100&format=jsonapi")
unnest_wider(d = tibble::tibble(data[[1]]), c(d))
# The second element seems to be doubly nested
unnest_wider(unnest_wider(d = tibble::tibble(data[[2]]), c(d)), c(related))
unnest_wider(d = tibble::tibble(data[[3]]), c(d))
unnest_wider(d = tibble::tibble(data[[4]]), c(d))

从那里你可以合并,进一步取消某些列,等等,但如果没有更多的信息,就很难得到更具体的东西。

最新更新