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