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


111

2つのリストがあります。

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

3番目のリストが欲しい:

list(2, 3, 4).

どうすれば簡単にできますか。私はforループでそれを行うことができますが、ワンライナーの答え、またはおそらく組み込みメソッドを期待しています。

:実は、私はリストを持っている
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)


6
c(l1, l2)?他に何か期待している場合は、少し詳しく説明したり、リストや目的の出力を共有したりできますか?
Vincent Bonhomme

上記で提供したものと同じ形式です。
Rohit Singh

1
リストがあります: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)が必要です。それでおしまい。
Rohit Singh

1
@Vincentが最初にここに来ました。それが彼の答えです。
Rich Scriven

2
あなたの編集から:もしあなたが持っlist(2, 3)ていlist(2, 4),て欲しいならlist(2, 3, 4)、あなたも望むかもしれませんunique(c(l1, l2))
user20650

回答:


143

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

53

使用できます append

append(l1, l2)

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


@Zach pastepaste0大きな文字列に一緒に文字列に参加することです。私はそれを明確に理解していなかったので、問題をもう少し説明できますか?
akrun

2
@akrun 3つ以上のリストの構文はどうですか?
Frosi

3
@Frosiを実行できますc(l1, l2, l3)。これappend()は単なるラッパーですc()が、引数は2つだけです。
sindri_baldur

0

私は同じことをしようとしていましたが、リストを文字列の単なる配列として保持するために、新しいコードを記述しました。これは、私が読んでいるものからは最も効率的ではないかもしれませんが、必要な作業のために機能しました:

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つを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.