Ich möchte zwei Vektoren des gleichen Modus und gleicher Länge verschachteln. Sprich:Alternate, interweave oder interlace zwei Vektoren
a <- rpois(lambda=3,n=5e5)
b <- rpois(lambda=4,n=5e5)
ich diese beiden Vektoren verweben oder Interlace möchte, um einen Vektor zu erstellen, die in äquivalenter Weise c(a[1],b[1],a[2],b[2],...,a[length(a)],b[length(b)])
Mein erster Versuch wäre, war dies:
sapply(X=rep.int(c(3,4),times=5e5),FUN=rpois,n=1)
aber es erfordert rpois
viel öfter als nötig aufgerufen werden.
Mein bester Versuch ist bisher in eine Matrix zu verwandeln und zurück in einen Vektor zurückzuverwandeln:
d <- c(rbind(rpois(lambda=3,n=5e5),rpois(lambda=4,n=5e5)))
d <- c(rbind(a,b))
Gibt es eine bessere Art und Weise zu tun, es zu gehen? Oder gibt es eine Funktion in der Basis R
, die dasselbe bewirkt?
Können Sie die Elemente der Antwort der Frage entfernen, bitte? Es wird zu verwirrend, wenn Sie Ihre eigene Frage in der Frage beantworten. Sie können die Antwort von @benbolker bearbeiten, oder Sie können eine neue Antwort posten. – Andrie
@Andrie Fertig. Das tut mir leid. –