关于 r:将向量/矩阵添加到向量/矩阵列表中
Add vectors/matrices to a list of vectors/matrices
我有一个向量或矩阵列表,如下所示:
|
1
2 3 4 5 6 7 |
l <- list(1:3, 4:6)
l # [[1]] # [1] 1 2 3 # [[2]] |
现在我想在列表中添加一个新的向量/矩阵。使用
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
c(l, 7:9)
# [[1]] # [1] 1 2 3 # [[2]] # [[3]] # [[4]] # [[5]] |
也
|
1
2 3 4 5 6 7 8 9 10 |
list(l, 7:9)
# [[1]] # [[1]][[1]] # [1] 1 2 3 # [[1]][[2]] # [[2]] |
解决这个问题的标准方法是什么?
相关讨论
-
c(l,list(7:9)) 也许。我认为这可能之前已经在这里介绍过了。 - 谢谢。我猜它可能会被覆盖,我搜索了但我找不到相关的问题,至少有一个明确的主题。因此,我在这里发布了这个简单的问题。
- 值得称赞的是,我似乎找不到重复的问题。如果我很快找不到,我会将我的评论推广为答案。
|
1
2 3 4 5 6 7 8 9 |
do.call(c, list(l, list(7:9)))
# [[1]] # [1] 1 2 3 # [[2]] # [[3]] |
如果它是一个矩阵:
|
1
2 3 4 5 6 7 8 9 10 11 12 |
do.call(c, list(l, list(matrix(7:9))))
# [[1]] # [1] 1 2 3 # [[2]] # [[3]] |
如果要添加多个向量或矩阵,可以将它们全部放在第二个列表中:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
do.call(c,list(l, list(matrix(7:9), 6:10)))
# [[1]] # [1] 1 2 3 # [[2]] # [[3]] # [[4]] |
相关讨论
- 谢谢。我们可以像@thelatemail 上面建议的那样用简单的
c(l, list(7:9)) 替换do.call() 吗? -
是的,我后来注意到:
c(l, list(7:9)) 应该可以工作