I am designing a remote procedure protocol for R, which basically performs a do.call on data and arguments supplied by a client. However, I am experiencing unfortunate behavior of the do.call function. The function do.call seems to serialize all objects in the args list, resulting in an enormous expression, that is then in some way or another returned by many functions. A short example:
args <- list(data=cars, formula=dist~speed); do.call("lm",args); One can see that for this small example, the returned 'call' attribute is already huge. Another example: eval(call("cor.test", x=rnorm(100), y=rnorm(100))) I completely understand why this happens, yet I was wondering if there is an alternative to call/do.call that constructs the call in an different way so that the actual call object is somewhat more compact and does not contain all the data that was involved in the function. For example one that attaches the args list in an environment and constructs a call that refers to these objects or something similar. -- View this message in context: http://r.789695.n4.nabble.com/call-do-call-expression-too-big-tp3574335p3574335.html Sent from the R devel mailing list archive at Nabble.com. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel