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
,可以 unlist
ed 得到 vector
.
unlist(rep(list(a,b), c(2,1)))
标记的答案已经很完美了:这里有一个替代方案,使用mapply
unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1)))
当我表演时:
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
,可以 unlist
ed 得到 vector
.
unlist(rep(list(a,b), c(2,1)))
标记的答案已经很完美了:这里有一个替代方案,使用mapply
unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1)))