[R] Use apply on a function with multiple argument including a matrix ?
sunelav
julien.lavenus at hotmail.fr
Fri May 27 21:34:04 CEST 2011
Hello,
I wrote a function that takes a matrix M and several numeric parameters as
arguments. It returns a square matrix (same number of rows than M). I need
to use this function n times (n>1000) with random parameters.
I would like to increase the speed of this computation in order to increase
the size of M I can use as an input. To do so, I would like to use a
function of the apply family but I am not sure whether it is possible in my
case. Have you got any idea ?
I initially thought I could create a list containing the vectors of the 3
random parameters and run lapply. However, in this case I don't know how to
put M as another argument for the function.
Thank you very much for your help,
Cheers,
Sunelav.
To make things clearer; this is the loop I would like to eliminate
# the function
f=function(M,p1,p2,p3) # A matrix and 3 numeric parameters
{....
return(SM) } # a square matrix
# the Loop
SM=f(M,p1,p2,p3)
for (i in 1:10000)
{ p1=runif(..); p2=runif(..); p3=runif(..)
SM=SM+f(M,p1,p2,p3) }
--
View this message in context: http://r.789695.n4.nabble.com/Use-apply-on-a-function-with-multiple-argument-including-a-matrix-tp3556193p3556193.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list