web-dev-qa-db-ja.com

Rで2つのリストを組み合わせる方法

私は2つのリストがあります:

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

三つ目のリストが欲しい:

list(2, 3, 4).

どうすれば簡単にできますか。 for loopでそれを実行することはできますが、私はワンライナーの答え、あるいは多分組み込みの方法を期待しています。

実際には、私はリストがあります:
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)が欲しいです。

63
Rohit Singh

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))
73

appendを使うことができます

append(l1, l2)

特定の位置に要素を挿入するための引数もあります。

31
akrun

私は同じことをやろうと思っていましたが、リストを単に文字列の配列として保存するために私は新しいコードを書きました。 :

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

単に新しいリストを作成し、2つの提供されたリストから項目を追加して1つを作成します。

0
John Proestakes