36

我想重复一个向量 N 次,但要逐个元素,而不是整个向量。

例如,我有:

v <- c('a', 'b')

假设我想重复 n 次:

n <- 3

我想:

vfill <- c(rep(v[1], n), rep(v[2], n))
print(vfill)
[1] "a" "a" "a" "b" "b" "b"

我迄今为止最好的解决方案:

ffillv <- function(i) rep(v[i], n)
c(sapply(seq_len(length(v)), ffillv))

我对快速且可扩展的解决方案感兴趣,例如使用 rbind、plyr 等。

4

1 回答 1

77
rep(v, each=3)

或者

rep(v, each=n)

您在哪里定义了 n

于 2013-02-28T17:24:49.810 回答