[R] define matrix by outer?

Zhen Pang nusbj at hotmail.com
Fri May 27 02:29:58 CEST 2005


Dear all,

I'd like to define a k by k matrix where the element is defined by

mn<-function(m,n) sum(choose(m,(m-0:m))*choose((k-m),(n-m+0:m)))

the mn function works fine for scalar m and n, however, it fails to define 
the matrix by outer.

a<-outer(1:k,1:k,mn)

gives error message:

Error in outer(1:k, 1:k, mn) : dim<- : dims [product 64] do not match the 
length of object [1]
In addition: Warning messages:
1: Numerical expression has 64 elements: only the first used in: 0:m
2: Numerical expression has 64 elements: only the first used in: 0:m

I can define this matrix by loop or some apply function, however, the outer 
function should be the most straitforward way. How to deal with it? Thanks.

Regards,

Zhen




More information about the R-help mailing list