我记得(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()。
答案 0 :(得分:6)
row()
和col()
采用矩阵并返回与您描述的结构相同形状的新矩阵。
答案 1 :(得分:3)
这两行代码创建了你写的两个矩阵,但我不确定你是否在寻找更通用的东西。
matrix(rep(1:5,4),ncol=4)
matrix(rep(1:4,5),ncol=4,byrow=T)