按元素组合矢量

时间:2017-11-30 19:24:45

标签: r dplyr

我有一个简单的任务,但我很难描述它并在stackoverflow上找到它。

我有三个载体

v1 <- c(1,1,1,1,1)
v2 <- c(2,2,2,2,2)
v3 <- c(3,3,3,3,3)

如何以元素方式组合它们,从而产生:

c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3)

我知道我可以通过rep(c(1,2,3), 5)获取此向量,我正在为所有相同长度的向量寻找通用解决方案。

2 个答案:

答案 0 :(得分:2)

foo = function(...){
    L = list(...)
    c(matrix(unlist(L), length(L), byrow = TRUE))
}
foo(v1, v2, v3)
# [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

答案 1 :(得分:0)

你可以用这个:

as.vector(apply(mapply(c, list(v1,v2,v3)),1,c))