Skip to content
Back to formatted view

Raw Message

Message-ID: <2b7264c4-acbc-4bcc-aed0-7e4e24cc5903@b2g2000yqi.googlegroups.com>
Date: 2010-02-16T14:18:07Z
From: Leon
Subject: ellipsis-related error: used in an incorrect context, no ... to look 	in

Hi,

I have the following code snippet:

    require(lattice)
    f.barchart <- function(...) {
        barchart(...,
            panel = function(x, y, ...) {
                panel.barchart(x, y, ...)
            }
        )
    }

    x <- data.frame(a = c(1,1,2,2), b = c(1,2,3,4), c = c(1,2,2,1))
    f.barchart(a ~ b, data = x, groups = c)

Which results in the following error being thrown:

    ..3 used in an incorrect context, no ... to look in

When I use the following definition:

    f.barchart <- function(...) {
        substitute(barchart(...,
            panel = function(x, y, ...) {
                panel.barchart(x, y, ...)
            }
        ))
    }

I get:

    barchart(a ~ b, data = x, groups = c,
        panel = function(x, y, ...) {
            panel.barchart(x, y, a ~ b, data = x, groups = c)
        })

I'm not sure if this is the cause of above error but this would mean
that the ellipsis in panel.barchart gets wrongly expanded with the
contents of the arguments given to f.barchart and not the panel
function.

Is there a way to avoid this problem? How can I make the function
work?

I use R 2.10.1 @ win32.

Regards,
Tom