Я хочу чередовать два вектора одного и того же режима и равную длину. Скажи:
a <- rpois(lambda=3,n=5e5)
b <- rpois(lambda=4,n=5e5)
Я хотел бы переплетать или чередовать эти два вектора, чтобы создать вектор, который был бы эквивалентен c(a[1],b[1],a[2],b[2],...,a[length(a)],b[length(b)])
Моя первая попытка:
sapply(X=rep.int(c(3,4),times=5e5),FUN=rpois,n=1)
но для этого требуется rpois
вызывать гораздо больше времени, чем нужно.
Моя лучшая попытка до сих пор заключалась в том, чтобы преобразовать ее в матрицу и снова вернуться в вектор:
d <- c(rbind(rpois(lambda=3,n=5e5),rpois(lambda=4,n=5e5)))
d <- c(rbind(a,b))
Есть ли лучший способ сделать это? Или есть функция в базе R
, которая выполняет одно и то же?