Список "l_start" на уровне 1 - это именованный список, который сам по себе вмещает именованные списки ("l1", "l1a") на уровне 2, в свою очередь содержащий 2-3 кадра данных (a, b и, возможно, c). ) на уровне 3.
Цель состоит в том, чтобы привязать фреймы данных на уровне 3 на основе имен, если они доступны, чтобы получить "l_fini sh" (предпочтительнее использовать решение для data.table & rlist, но мурлыкать или основывать также хорошо)
# Level 2
l1 <-
# Level 3
list(a = data.frame(matrix(1:4, ncol=2)),
b = data.frame(matrix(1:4, ncol=2)),
c= data.frame(matrix(1:4, ncol=2)))
# Level 2
l1a <-
# Level 3
list(a = data.frame(matrix(1:6, ncol=2)),
b = data.frame(matrix(1:6, ncol=2)))
# Level 1 "l_start"
l_start <-
list(l1, l1a)
names(l_start) <- c("l1", "l1a")
Как должен выглядеть "l_fini sh"
l_finish <-
list(l1_1a = list(a = rbind(l1$a, l1a$a),
b = rbind(l1$b, l1a$b)))
Надеясь на конечный продукт "l_fini sh" Обратите внимание, что c отброшено, потому что не в обоих списках
l_finish
#> $l1_1a
#> $l1_1a$a
#> X1 X2
#> 1 1 3
#> 2 2 4
#> 3 1 4
#> 4 2 5
#> 5 3 6
#>
#> $l1_1a$b
#> X1 X2
#> 1 1 3
#> 2 2 4
#> 3 1 4
#> 4 2 5
#> 5 3 6
Закрыть, но не смог попасть туда с этими
Rbind происходит на один уровень выше моего примера rbind dataframes через вложенные списки
Только одно имя df в списке, не несколько rbind data.frames в списке в R