生成一个矩阵,其元素等于行/列

时间:2013-12-04 17:59:06

标签: r matrix

我记得(base?)R中的一个函数可以生成一个看起来像这样的矩阵:

structure(c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L,
4L, 5L, 1L, 2L, 3L, 4L, 5L), .Dim = c(5L, 4L))

显示为:

>
      [,1] [,2] [,3] [,4]
 [1,]    1    1    1    1
 [2,]    2    2    2    2
 [3,]    3    3    3    3
 [4,]    4    4    4    4
 [5,]    5    5    5    5

或者列形式:

>
      [,1] [,2] [,3] [,4]
 [1,]    1    2    3    4
 [2,]    1    2    3    4
 [3,]    1    2    3    4
 [4,]    1    2    3    4
 [5,]    1    2    3    4

但是我完全忘记了命令是什么,甚至忘记搜索的内容......有人可以提醒我。

通常是生成矩阵的函数,例如diag(),而不是使用matrix()。

2 个答案:

答案 0 :(得分:6)

row()col()采用矩阵并返回与您描述的结构相同形状的新矩阵。

答案 1 :(得分:3)

这两行代码创建了你写的两个矩阵,但我不确定你是否在寻找更通用的东西。

matrix(rep(1:5,4),ncol=4)
matrix(rep(1:4,5),ncol=4,byrow=T)