递归地重复向量元素N次

Pat*_*ick 27 r

我想重复一个向量N次但是元素方面,而不是整个向量.

例如,我有:

v <- c('a', 'b')
Run Code Online (Sandbox Code Playgroud)

说我想重复n次:

n <- 3
Run Code Online (Sandbox Code Playgroud)

我想要:

vfill <- c(rep(v[1], n), rep(v[2], n))
print(vfill)
[1] "a" "a" "a" "b" "b" "b"
Run Code Online (Sandbox Code Playgroud)

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

ffillv <- function(i) rep(v[i], n)
c(sapply(seq_len(length(v)), ffillv))
Run Code Online (Sandbox Code Playgroud)

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

小智 53

rep(v, each=3)
Run Code Online (Sandbox Code Playgroud)

要么

rep(v, each=n)
Run Code Online (Sandbox Code Playgroud)

你定义的地方