2012-11-01 2 views
1

상황은 매우 간단합니다. 각 행렬의 값이 미리 결정된 함수 f(i, j)에 의해 주어진 n 행과 m 열의 행렬 A을 생성하려고합니다. 이것을 달성하는 가장 우아한 방법은 무엇입니까?행과 열의 함수로 행렬 구성하기

+0

가능한 중복 R [i]에서 함수 f (i, j)에 의해 주어진 요소들의 행렬 (http://stackoverflow.com/questions/13081611/most-efficient-way-to-fill-out-a-matrix-of-elements- function-fi-j-in) – mnel

+0

나는 이것을 열어 두어야한다고 생각한다. 그것들은 매우 밀접하게 관련되어 있지만,이 질문은 훨씬 더 간단하고 직접적인 방법으로이 질문에 대답합니다. –

답변

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 
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) 
관련 문제