Как объединить два списка в R

У меня есть два списка:

l1 = list(2, 3)
l2 = list(4)

Мне нужен третий список:

list(2, 3, 4).

Как я могу сделать это простым способом. Хотя я могу сделать это для цикла, но я ожидаю ответа одного лайнера или, может быть, встроенного метода.

Собственно, у меня есть список:
list(list(2, 3), list(2, 4), list(3, 5), list(3, 7), list(5, 6), list(5, 7), list(6, 7)).
После вычисления на list(2, 3) и list(2, 4) я хочу list(2, 3, 4).

Ответы

Ответ 1

c может использоваться в списках (и не только в векторах):

# you have
l1 = list(2, 3)
l2 = list(4)

# you want
list(2, 3, 4)
[[1]]
[1] 2

[[2]]
[1] 3

[[3]]
[1] 4

# you can do
c(l1, l2)
[[1]]
[1] 2

[[2]]
[1] 3

[[3]]
[1] 4

Если у вас есть список списков, вы можете сделать это (возможно) более удобно с помощью do.call, например:

do.call(c, list(l1, l2))

Ответ 2

Мы можем использовать append

append(l1, l2)

В нем также есть аргументы для вставки элемента в определенном месте.

Ответ 3

Я пытался сделать то же самое, но сохранить список как просто массив строк, поэтому я написал новый код, который из того, что я читал, может быть не самым эффективным, но работал для того, что мне нужно было сделать:

combineListsAsOne <-function(list1, list2){
  n <- c()
  for(x in list1){
    n<-c(n, x)
  }
  for(y in list2){
    n<-c(n, y)
  }
  return(n)
}

Он просто создает новый список и добавляет элементы из двух предоставленных списков, чтобы создать один.