2016-04-16 5 views
20

У меня есть два списка:Как объединить два списка в 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).

+4

'c (l1, l2)'? если вы ожидаете чего-то еще, не могли бы вы подробно рассказать и/или поделиться своими списками и желаемым результатом? –

+0

Это тот же формат, что и я выше. –

+0

У меня есть список: список (список, 2, 3), список (2, 4), список (3, 5), список (3, 7), список (5, 6), список (5, 7), список (6, 7)). После вычисления в списке (2, 3) и списка (2, 4) мне нужен список (2, 3, 4). Вот и все. –

ответ

18

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))` 
10

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

append(l1, l2) 

Он также имеет argum чтобы вставить элемент в определенном месте.

+0

Вставьте или вставьте0? – Zach

+0

@ Зак 'paste' и' paste0' должны объединить строки вместе с большей строкой. Можете ли вы описать проблему немного больше, поскольку я не понял ее четко? – akrun

+1

@akrun Как синтаксис для более чем двух списков? – Frosi

Смежные вопросы