[R] Passing parameter to a function
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Dec 20 19:28:17 CET 2010
On 20/12/2010 1:13 PM, Luca Meyer wrote:
> I am trying to pass a couple of variable names to a xtabs formula:
>
> > tab<- function(x,y){
> xtabs(time~x+y, data=D)
> }
>
> But when I run:
>
> > tab(A,B)
>
> I get:
>
> Error in eval(expr, envir, enclos) : object "A" not found
>
> I am quite sure that there is some easy way out, but I have tried with different combinations of deparse(), substitute(), eval(), etc without success, can someone help?
I assume that A and B are columns in D? If so, you could use
tab(D$A, D$B)
to get what you want. If you really want tab(A,B) to work, you'll need
to do messy work with substitute, e.g. in the tab function, something like
fla <- substitute(time ~ x + y, list(x = substitute(x), y = substitute(y))
xtabs(fla, data=D)
Duncan Murdoch
More information about the R-help
mailing list