fragen sich, wie ein Vektor in eine Matrix in R. duplizieren Zum Beispieldoppelte Vektor in Matrix r
v = 1:10
dup = duplicate(V,2)
wo dup
wie rbind(1:10,1:10)
aussieht. Danke
fragen sich, wie ein Vektor in eine Matrix in R. duplizieren Zum Beispieldoppelte Vektor in Matrix r
v = 1:10
dup = duplicate(V,2)
wo dup
wie rbind(1:10,1:10)
aussieht. Danke
Ich denke, Sie suchen nach replicate
.
t(replicate(2, v))
erwähnenswert für Leser, die 'replizieren' wird normalerweise nicht so verwendet; Außerdem ist es viel langsamer als der unten beschriebene Ansatz. Anyway +1 für Lesbarkeit/Eleganz. – MichaelChirico
Alternativ:
matrix(v,nrow=2,ncol=length(v),byrow=TRUE)
was ist schneller als die Umsetzung des Ergebnisses ohne Verwendung von 'byrow' (wie ich vermutete) – MichaelChirico
persönlich es ich multiplizieren nur durch eine solche Vektor ..
zum Beispiel, wenn v ein Spaltenvektor: v [1 1] -> [ vv]
Wenn Sie ftable Sie die Anzahl der Zeilen der neuen Matrix weglassen
as.matrix(ftable(replicate(2,v)))
Ihre Antwort ist im Grunde nutzlos ohne Erklärungen. –
Ähnlich Mouds Antwort, aber mit etwas mehr Klarheit.
n <- 10
v <- c(1,4,3,6,4,7,8,1) # random
t(t(rep(1, n))) %*% v
Sollte schnell sein, aber nicht so elegant wie einige der anderen Antworten.
Nur ein Blick nach oben: 'duplicated' ist eine Funktion, die Duplikate innerhalb * eines Vektors findet. Und wie @thelatemail angibt, "R" recycelt, und Sie müssen einfach angeben, wie viele Zeilen Ihre Matrix benötigt, und "R" wird den Vektor automatisch für Sie wiederholen. –