Предположим, у меня есть этот фрейм данных df
:
> df <- data.frame(a=c(1,2))
> df$b <- list(list(),list(id=c('d', 'e')))
> df
a b
1 1 NULL
2 2 d, e
> df$b
[[1]]
list()
[[2]]
[[2]]$id
[1] "d" "e"
Как получить следующий фрейм данных:
> df2 <- data.frame(a=c(1,2,2),b=c(NA,'d','e'))
> df2
a b
1 1 <NA>
2 2 d
3 2 e
Другими словами, должна быть новая строка для каждого элемента списка в столбце b
.
я рассмотрел эти три вещи:
jsonlite::flatten(df)
rlang::flatten(df)
purrr::flatten(df)
, а также эти два вопроса, и ничто не казалось совершенно правильным.
Да, я получаю эти данные от API, который возвращает json.