wake-up-neo.com

So kombinieren Sie zwei Listen in R

Ich habe zwei Listen:

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

Ich möchte eine dritte Liste:

list(2, 3, 4).

Wie kann ich das auf einfache Weise machen? Ich kann es zwar in der for-Schleife machen, erwarte aber eine einzeilige Antwort oder vielleicht eine eingebaute Methode.

Eigentlich habe ich eine Liste:
list(list(2, 3), list(2, 4), list(3, 5), list(3, 7), list(5, 6), list(5, 7), list(6, 7)).
Nach dem Rechnen mit list(2, 3) und list(2, 4) möchte ich list(2, 3, 4).

72
Rohit Singh

c kann für Listen verwendet werden (und nicht nur für Vektoren):

# 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

Wenn Sie eine Liste von Listen haben, können Sie dies (vielleicht) mit do.call bequemer erledigen, zB:

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

Wir können append verwenden

append(l1, l2)

Es hat auch Argumente, um ein Element an einer bestimmten Stelle einzufügen.

28
akrun

Ich wollte das Gleiche tun, aber um die Liste als reines Array von Strings zu erhalten, schrieb ich einen neuen Code, der aus dem, was ich gelesen habe, vielleicht nicht der effizienteste ist, aber für das arbeitete, was ich tun musste :

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

Es erstellt lediglich eine neue Liste und fügt Elemente aus zwei bereitgestellten Listen hinzu, um eine zu erstellen.

0
John Proestakes