Подтвердить что ты не робот

Рекурсивно повторять векторные элементы N раз каждый

Я хочу повторить вектор 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 и т.д.

4b9b3361

Ответ 1

rep(v, each=3)

или

rep(v, each=n)

где у вас определено n