1

情况很简单。我想创建一个An 行 m 列的矩阵,其中每个元素的值由预定函数给出f(i, j)。实现这一目标的最优雅的方法是什么?

4

2 回答 2

10

您可以使用outer

outer(1:3,1:3,function(i,j) i^2+j)
     [,1] [,2] [,3]
[1,]    2    3    4
[2,]    5    6    7
[3,]   10   11   12
于 2012-11-01T16:20:49.120 回答
0

如果您提供了一个可重现的示例,这将有所帮助,但您可以执行以下操作:

f <- function(i,j) i*j
m <- 4
n <- 2
out <- apply(expand.grid(1:m, 1:n), 1, function(x) f(x[1],x[2]))
dim(out) <- c(m,n)
于 2012-11-01T16:16:12.947 回答