如何在 R 中组合两个列表

我有两份名单:

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)

241670 次浏览

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

我们可以用 append

append(l1, l2)

它还具有在特定位置插入元素的参数。

我也想做同样的事情,但是为了保持列表只是一个字符串数组,所以我写了一个新代码,从我一直在阅读的内容来看,这可能不是最有效的方法,但是对于我需要做的事情来说是有效的:

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

它只是创建一个新列表,并将两个提供的列表中的项添加到一个列表中。