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 に答える