Мы можем использовать data.frame
, чтобы свести каждый элемент в ряд, а затем do.call(rbind, ...)
, чтобы объединить их все. К сожалению, это зависит от всех строк, имеющих одинаковые имена.
do.call(rbind, lapply(content_request[[2]][32:33], data.frame, stringsAsFactors = FALSE))
# Error in rbind(deparse.level, ...) :
# numbers of columns of arguments do not match
Чтобы исправить это, есть обходные пути вручную, или мы можем использовать один из data.table::rbindlist
или dplyr::bind_rows
, оба более гибки при работе с разными наборами имен. Обе опции ниже дают один и тот же результат (несмотря на классы).
head(
dplyr::bind_rows(lapply(content_request[[2]], data.frame, stringsAsFactors = FALSE))
# data.table::rbindlist(lapply(content_request[[2]], data.frame, stringsAsFactors = FALSE), fill =TRUE)
)
head( ) )
# rc.pc1 rc.pc2 rc.car rc.cc1 rc.cc2 dt.loine.cp dt.loine.cm dt.cmc dt.np dt.nm
# 1 1222924 VK4712A 0001 M B 28 79 900 MADRID MADRID
# 2 1222924 VK4712A 0002 Q Z 28 79 900 MADRID MADRID
# 3 1222924 VK4712A 0003 W X 28 79 900 MADRID MADRID
# 4 1222924 VK4712A 0004 E M 28 79 900 MADRID MADRID
# 5 1222924 VK4712A 0005 R Q 28 79 900 MADRID MADRID
# 6 1222924 VK4712A 0006 T W 28 79 900 MADRID MADRID
# dt.locs.lous.lourb.dir.cv dt.locs.lous.lourb.dir.tv dt.locs.lous.lourb.dir.nv
# 1 1675 PS DELICIAS
# 2 1675 PS DELICIAS
# 3 1675 PS DELICIAS
# 4 1675 PS DELICIAS
# 5 1675 PS DELICIAS
# 6 1675 PS DELICIAS
# dt.locs.lous.lourb.dir.pnp dt.locs.lous.lourb.dir.snp dt.locs.lous.lourb.loint.es
# 1 81 0 1
# 2 81 0 1
# 3 81 0 1
# 4 81 0 1
# 5 81 0 1
# 6 81 0 1
# dt.locs.lous.lourb.loint.pt dt.locs.lous.lourb.loint.pu dt.locs.lous.lourb.dp
# 1 -1 A 28045
# 2 -1 B 28045
# 3 -1 C 28045
# 4 00 01 28045
# 5 00 02 28045
# 6 00 03 28045
# dt.locs.lous.lourb.dm dt.locs.lous.lourb.dir.td
# 1 2 <NA>
# 2 2 <NA>
# 3 2 <NA>
# 4 2 <NA>
# 5 2 <NA>
# 6 2 <NA>