rep函数奇怪的错误

rep function strange error

当我表演时:

a <- seq(1,1.5,0.1)
b <- c(1,1.1,1.4,1.5)

x <- rep(c(a,b),times=c(2,1))

Error in rep(c(a, b), c(2, 1)) : invalid 'times' argument

为什么?

当我们连接 (c) 两个向量时,它变成一个向量。如果想法是将 'a' 复制 2,将 'b' 复制 1,我们将它们放在 list 中,并使用 rep。输出将是 list,可以 unlisted 得到 vector.

 unlist(rep(list(a,b), c(2,1)))

标记的答案已经很完美了:这里有一个替代方案,使用mapply

unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1)))