дублировать вектор в матрицу r

интересно, как дублировать вектор в матрицу в R. например

v = 1:10
dup = duplicate(V,2)

здесь dup выглядит так:rbind(1:10,1:10). Спасибо

5 ответов


Я думаю, вы ищете replicate.

t(replicate(2, v))

кроме того:

matrix(v,nrow=2,ncol=length(v),byrow=TRUE)

лично я просто умножаю его на один вектор ..

например, если V-вектор-столбец : v [1 1] - > [v v]


похоже на ответ Моуда, но с некоторой большей ясностью.

n <- 10
v <- c(1,4,3,6,4,7,8,1) # random
t(t(rep(1, n))) %*% v

должен быть быстрым, но не таким элегантным, как некоторые другие ответы.


Если вы используете ftable, вы можете опустить количество строк новой матрицы

as.matrix(ftable(replicate(2,v)))