行がありf
ます。R
すべての行が等しいような行列を作成したいf
。Rでそれを行う最も効率的な方法は何ですか?
5212 次
3 に答える
8
行で
f=c(1,22,33,44,55,66)
その長さを得る
lf=length(f)
次に、マトリックスを作成します
R=matrix(rep(f,lf),
ncol=lf,
byrow=T)
与えます:
R
[,1] [,2] [,3] [,4] [,5]
[1,] 1 33 44 55 66
[2,] 1 33 44 55 66
[3,] 1 33 44 55 66
[4,] 1 33 44 55 66
[5,] 1 33 44 55 66
于 2012-06-03T01:55:49.007 に答える
5
R <- matrix(f, 1)[rep(1,n), ]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 2 3 4 5
[3,] 1 2 3 4 5
[4,] 1 2 3 4 5
[5,] 1 2 3 4 5
またはさらにコンパクト:
R <- rbind(f)[rep(1,n), ]
[,1] [,2] [,3] [,4] [,5]
f 1 2 3 4 5
f 1 2 3 4 5
f 1 2 3 4 5
f 1 2 3 4 5
f 1 2 3 4 5
data.frames の場合とは異なり、行列の行名は一意である必要はないことに注意してください。
于 2012-06-03T02:47:09.417 に答える
3
1 つの可能性を次に示します。
mymat <- do.call( rbind, rep(list(f), 10) )
于 2012-06-03T02:12:18.177 に答える