Try this: args <- list(data=quote(cars), formula=dist~speed)
On Sat, Jun 4, 2011 at 7:49 PM, Jeroen Ooms <jeroeno...@gmail.com> wrote: > 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 > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel