web-dev-qa-db-ja.com

rep()関数によって返されたベクトルから行列を作成する方法は?

x = 1:20

[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

rep(x、2)

[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

表示(rep(x、2))

Rのrep()関数を使用して20 x 2のベクトルを生成するときに問題が発生します。

Rワークスペースでデータを表示すると、それぞれが1から20まで実行される2つの列を作成する代わりに、40X1ベクトル、つまり1-20 1-20として表示されます。

どのようにrep()関数を使用して、20X2の繰り返し列ベクトルを作成しますか?ありがとうございました。

11
gabriel

repはアトミックベクトルを返します。行列が必要な場合は、適切な次元で結果にmatrixを使用します。

例えば。

x <- 1:20
matrix(rep(x,2), ncol = 2)
      [,1] [,2]
 [1,]    1    1
 [2,]    2    2
 [3,]    3    3
 [4,]    4    4
 [5,]    5    5
 [6,]    6    6
 [7,]    7    7
 [8,]    8    8
 [9,]    9    9
[10,]   10   10
[11,]   11   11
[12,]   12   12
[13,]   13   13
[14,]   14   14
[15,]   15   15
[16,]   16   16
[17,]   17   17
[18,]   18   18
[19,]   19   19
[20,]   20   20
20
mnel