добавить список векторов в список векторов - PullRequest
0 голосов
/ 26 февраля 2019

Пусть x будет списком векторов:

 a <-list( c(1,2,3),   c(4,5,6), c(7,8) ,c(9) )
 b <-list(c(11,22,33),c(44,55,66), c(77,88) ,c(99) )
 x <- list(a=a,b=b)

Мой желаемый вывод следующий:

>foo(x)

 list(c(1,2,3,11,22,33),c(4,5,6,44,55,66),c(7,8,77,88),c(9,99)

Сводка ответов Акрун и Гфгм

  1. Map(c, a, b)
  2. do.call(Map, c(f = "c", unname(x)))
  3. mapply(function(i, j){c(i,j)}, a, b)

1 Ответ

0 голосов
/ 26 февраля 2019

Это хороший вариант использования для mapply()

a <-list( c(1,2,3),   c(4,5,6), c(7,8) ,c(9) )
b <-list(c(11,22,33),c(44,55,66), c(77,88) ,c(99) )

mapply(function(i, j){c(i,j)}, a, b)
#> [[1]]
#> [1]  1  2  3 11 22 33
#> 
#> [[2]]
#> [1]  4  5  6 44 55 66
#> 
#> [[3]]
#> [1]  7  8 77 88
#> 
#> [[4]]
#> [1]  9 99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...