如何从rep()函数返回的向量创建矩阵?

时间:2012-10-09 00:46:34

标签: r matrix vector 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

     

代表(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乘2向量时出现问题

当我在R工作区中查看数据时,它不是创建两列,每列都是1到20,而是显示为40X1向量,即1-20 1-20。

如何使用rep()函数创建20X2的重复列向量?谢谢。

1 个答案:

答案 0 :(得分:20)

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