如何在R中的矩阵值计算中使用行和列索引而不进行循环?

时间:2014-04-11 04:33:15

标签: r

如何生成一个矩阵,其中条目是行和列的索引的乘积。例如:

      [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    4    6
[3,]    3    6    9

注意:这不是乘法特有的。我实际上需要它将每个条目提升到一个幂(行索引 - 列索引),并且期望不必引发循环(因为我怀疑有更多R友好的方式)。

谢谢!

2 个答案:

答案 0 :(得分:2)

 M <- matrix(NA, 3,3)
 Mrcprod <- row(M)*col(M)

答案 1 :(得分:1)

使用1:31:3

的外部产品
outer(1:3,1:3)
# or
1:3 %o% 1:3

如果您需要不同的行索引和列索引,请再次使用outer

outer(1:3,1:3,"-")