2016-04-16 11 views
20

Ho due liste:Come combinare due liste in R

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

Voglio un terzo elenco:

list(2, 3, 4). 

Come posso farlo in modo semplice. Anche se posso farlo in ciclo for, ma mi aspetto una risposta di una sola linea, o forse un metodo integrato.

In realtà, ho una lista:
list(list(2, 3), list(2, 4), list(3, 5), list(3, 7), list(5, 6), list(5, 7), list(6, 7)).
Dopo aver calcolato il list(2, 3) e list(2, 4), voglio list(2, 3, 4).

+4

'c (l1, l2)'? se ti aspetti qualcos'altro, potresti per favore chiarire un po 'e/o condividere le tue liste e l'output desiderato? –

+0

È dello stesso formato che ho fornito sopra. –

+0

Ho una lista: lista (lista (2, 3), lista (2, 4), lista (3, 5), lista (3, 7), lista (5, 6), lista (5, 7), lista (6, 7)). Dopo il calcolo in elenco (2, 3) ed elenco (2, 4), voglio lista (2, 3, 4). Questo è tutto. –

risposta

18

c può essere utilizzato su liste (e non solo su vettori):

# 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 

Se si dispone di una lista di liste, è possibile farlo (forse) più comodamente con do.call, ad esempio:

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

possiamo usare append

append(l1, l2) 

ha anche argum ents per inserire elementi in una particolare posizione.

+0

Incollare o incollare0 lavoro? – Zach

+0

@Zach 'paste' e' paste0' devono unire insieme le stringhe a una stringa più grande. Puoi descrivere il problema un po 'di più in quanto non l'ho capito chiaramente? – akrun

+1

@akrun Com'è la sintassi per più di due elenchi? – Frosi