想知道如何在R中将向量复制到矩阵中。例如:
v = 1:10
dup = duplicate(V,2)
其中dup
看起来像是rbind(1:10,1:10)
。谢谢。
我认为您正在寻找 复制
。
t(replicate(2, v))
replicate
通常不用于这种方式;而且它比下面 thelatemail 的方法慢得多。总之,加一分可读性/优雅程度。 - MichaelChirico或者:
matrix(v, nrow=2, ncol=length(v), byrow=TRUE)
byrow
来转置结果,比起直接转置会更快(我猜应该是这样的)。 - MichaelChirico就我个人而言,我只是将其乘以一个全为1的向量。
例如,如果v是一个列向量: v [1 1] -> [v v]
类似于Moud的回答,但更加清晰易懂。
n <- 10
v <- c(1,4,3,6,4,7,8,1) # random
t(t(rep(1, n))) %*% v
应该很快,但不如其他答案那么优雅。
duplicated
是一个函数,用于在向量内查找重复项。正如@thelatemail所指出的那样,R
会进行循环利用,因此您只需要指定矩阵需要多少行,R
就会自动为您重复向量。 - Ricardo Saporta