递归地重复向量元素N次

时间:2013-02-28 17:20:44

标签: r

我想重复一次矢量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等。

1 个答案:

答案 0 :(得分:46)

rep(v, each=3)

rep(v, each=n)

你已经定义了