On Wed, 4 Feb 2004 21:21:35 -0600 (CST), Luke Tierney wrote:

>On Wed, 4 Feb 2004 [EMAIL PROTECTED] wrote:
>> I think the
>> problem is in this line:
>> 
>> x <- do.call("table", c(as.list(substitute(list(...)))[-1],
>> list(exclude = exclude)))

 ...

>> I think this works:
>> 
>> args <- list(...)
>> names(args) <-
>> as.character(unlist(as.list(substitute(list(...)))))[-1]
       x <- do.call("table", c(args,list(exclude=exclude))  

(which is what I committed, not what I wrote in the original message)
>> 
>> but isn't there an easier way?

A much simpler way that probably does what was originally intended is
this:

 x <- table(..., exclude=exclude)

This works fine on the example I posted.  Where it differs from my
solution is when expressions are passed:

It gives

> x <- 1:2
> y <- 3:4
> ftable(x+1, y+1)
   4 5
      
2  1 0
3  0 1

whereas the current r-devel code gives

> ftable(x+1, y+1)
      y + 1 4 5
x + 1          
2           1 0
3           0 1

I like the new behaviour better, so I'll leave the complicated version
in place.

Duncan Murdoch

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Reply via email to