如何创建增量矩阵?

时间:2016-08-10 01:18:19

标签: r matrix seq rep

好吧,我搜索了很多问题,但没有任何效果。这是我的问题,我被要求创建一个这样的矩阵

#      [,1] [,2] [,3] [,4] [,5]
# [1,]    1    2    3    4    5
# [2,]    2    3    4    5    6
# [3,]    3    4    5    6    7
# [4,]    4    5    6    7    8
# [5,]    5    6    7    8    9

使用rep()matrix()seq()函数。

我想在1中为seq(1:5)的每个重复周期添加"SELECT name + ' (' + code + ')' AS Expr1 FROM Customer" 5次,但我不知道该怎么做。有人会帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

谢谢@ user20650!我终于想通了。(请原谅我不熟悉Stack-overflow的功能)

我使用这样的代码:

a = matrix(rep((1:5),each = 5),5,5,byrow = TRUE)
b = matrix(rep((0:4),each = 5),5,5)
a+b

它有效

答案 1 :(得分:2)

n = 5
r = seq(1,n)
matrix(rep(r,n),n,n,byrow = T) + r - 1

或者,如果您不需要使用规定的功能

n = 5
r = 1:n
t(matrix(-1,n,n) + r) + r

答案 2 :(得分:1)

检查col()row()

a <- matrix(0, 5, 5)
col(a) + row(a) - 1
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    2    3    4    5    6
[3,]    3    4    5    6    7
[4,]    4    5    6    7    8
[5,]    5    6    7    8    9