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