Я импортировал файл json
в R. Теперь у меня есть один символьный столбец с уникальными идентификаторами dbc
, за которым следуют несколько столбцов списка lookup.company.year
, которые содержат фреймы данных.Что я хочу сделать, это сделать один большой кусок (фрейм данных).Я предпочитаю решения с пакетом purrr
.
Это только очень маленький фрагмент моих данных:
# A tibble: 1 x 5
dbc lookup.CZ.2016 lookup.CZ.2017 lookup.DSW.2016 lookup.DSW.2017
<chr> <list> <list> <list> <list>
1 019999006 <data.frame [1 × 2]> <data.frame [1 × 2]> <data.frame [1 × 2]> <data.frame [1 × 2]>
С воспроизводимым примером:
library(tidyverse)
df <- structure(list(dbc = "019999006", lookup.CZ.2016 = list(structure(list(
name = "MC Groep (Zuiderzee Lelystad, Emmeloord, Dronten)",
price = 18575.66), class = "data.frame", row.names = 1L)),
lookup.CZ.2017 = list(structure(list(name = "Albert Schweitzer Ziekenhuis",
price = 23024.57), class = "data.frame", row.names = 1L)),
lookup.DSW.2016 = list(structure(list(name = "MC Groep (Zuiderzee Lelystad, Emmeloord, Dronten)",
price = 21991L), class = "data.frame", row.names = 1L)),
lookup.DSW.2017 = list(structure(list(name = "Albert Schweitzer Ziekenhuis",
price = 23603.59), class = "data.frame", row.names = 1L)),
lookup.Menzis.2018 = list(NULL)), row.names = c(NA, -1L), class = c("tbl_df",
"tbl", "data.frame"))
И желаемый результат:
# A tibble: 4 x 5
dbc company year name price
<dbl> <chr> <dbl> <chr> <dbl>
1 19999006 CZ 2016 MC Groep (Zuiderzee Lelystad, Emmeloord, Dronten) 18576.
2 19999006 CZ 2017 Albert Schweitzer Ziekenhuis 23025.
3 19999006 DSW 2016 MC Groep (Zuiderzee Lelystad, Emmeloord, Dronten) 21991
4 19999006 DSW 2017 Albert Schweitzer Ziekenhuis 23604.
У меня также есть NULL
значения.Я хочу исключить их, поэтому я включил один в примерный набор данных.
Обновление
Как можно исключить пустые list()
из набора данных, отличные от NULL
?
Помощь очень ценится!