R에서 두 목록을 결합하는 방법


111

두 가지 목록이 있습니다.

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

세 번째 목록을 원합니다.

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


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

54

우리는 사용할 수 있습니다 append

append(l1, l2)

또한 특정 위치에 요소를 삽입하는 인수가 있습니다.


@Zach paste하고 paste0더 큰 문자열로 함께 문자열을 결합한다. 명확하게 이해하지 못했던 문제를 좀 더 설명해 주시겠습니까?
akrun

2
@akrun 두 개 이상의 목록에 대한 구문은 어떻습니까?
Frosi

3
당신이 할 수있는 @Frosi c(l1, l2, l3), append()단지 래퍼입니다 c()만 개의 인수를 취합니다.
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)
}

새 목록을 만들고 두 개의 제공된 목록에서 항목을 추가하여 하나를 만듭니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.