1
TSV列からJSONを抽出しようとしています。難しいのは、JSONが浅くネストされていて、キー値がすべての行に存在しないことです。キーを知らずにRデータフレームからネストされたJSONを抽出する
私は、私の要点を説明するための最小限の例があります。
df <- tibble(index = c(1, 2),
data = c('{"json_char":"alpha", "json_list1":["x","y"]}',
'{"json_char":"beta", "json_list1":["x","y","z"], "json_list2":["a","b","c"]}'))
望ましい結果:私は次のエラーを与える
extract_json_column <- function(df) {
df %>%
magrittr::use_series(data) %>%
purrr::map(jsonlite::fromJSON) %>%
purrr::map(purrr::simplify) %>%
tibble::enframe() %>%
tidyr::spread("name", "value") %>%
purrr::flatten_dfr()
}
:Error in bind_rows_(x, .id) : Argument 2 must be length 3, not 7
実験のかなりの量の後
df <- tibble::tibble(index = list(1, 2),
json_char = list("alpha", "beta"),
json_list1 = list(list("x","y"), list("x","y","z")),
json_list2 = list(NA, list("a","b","c")))
は、私はこの機能を持っています。
最初の行は、残りのデータフレームのパラメータ数を設定します。その行動を避けるためにとにかくありますか?