[R] mapply for matrices
Tamas K Papp
tpapp at Princeton.EDU
Wed Oct 5 23:36:43 CEST 2005
Hi,
I have a matrix A and a vector b, and would like to apply a function
f(a,b) to the rows of A and the elements of b. Eg
A <- matrix(1:4,2,2)
b <- c(5,7)
f <- function(a,b) {sum(a)*b}
myapply(f,A=A,b=b)
would give
(1+3)*5 = 20
(2+4)*7 = 42
I found mapply, but it does not work for matrices. How could I do
this without loops? The above is just a toy example, the problem I am
using this for has larger matrices, and f is a computation that does
not handle vectors.
One thing I thought of is
sapply(seq(along=b),function(i,A,b){f(A[i,],b[i])},A=A,b=b)
but this is not very elegant. I checked the archives and found nothing.
Thank you,
Tamas
--
Bayesian statistics is difficult in the sense that thinking is difficult.
--Donald A. Berry, American Statistician 51:242 (1997)
More information about the R-help
mailing list