以列表为例
lExample <- list(c(0, 1, 0), c(1, 3), c(4, 1, 6))
以及我们想要附加到前一个列表的两个新向量
v1 = c(5, 3)
v2 = rep(4, 5)
。 这样做的一种方法是
lExample[[4]] <- v1
lExample[[5]] <- v2
但这需要跟踪我们想要添加的每个新向量的
length(lExample)
。
有没有一种方法可以类似于使用 c()
来附加新向量,但不改变附加向量的结构? (c(lExample, v1)
将 v1
的每个元素添加为列表的单个元素)
这是基本 R 方法
> unlist(list(lExample, list(v1, v2)), recursive=FALSE)
[[1]]
[1] 0 1 0
[[2]]
[1] 1 3
[[3]]
[1] 4 1 6
[[4]]
[1] 5 3
[[5]]
[1] 4 4 4 4 4
像下面这样使用
c
怎么样?
> c(lExample, list(v1, v2))
[[1]]
[1] 0 1 0
[[2]]
[1] 1 3
[[3]]
[1] 4 1 6
[[4]]
[1] 5 3
[[5]]
[1] 4 4 4 4 4