[R] ellipsis-related error: used in an incorrect context, no ... to look in
Felix Andrews
felix at nfrac.org
Fri Feb 19 12:33:36 CET 2010
The problem is related to the processing of the 'groups' argument,
which is subject to non-standard evaluation. The groups argument is
substitute()d and evaluated in a special context ('data' etc). But
this gets messed up if you are not passing the symbol directly. The
work-around is to rewrite the call inside f.barchart (as is done in,
for example, lattice:::barchart.formula)
Example:
f.barchart <- function(...) {
ccall <- match.call()
ccall[[1]] <- quote(barchart)
ccall$panel <- function(x, y, ...) {
panel.barchart(x, y, ...)
}
eval.parent(ccall)
}
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)
It is also good practice to update the $call component of the trellis
object to reflect your high-level function:
ans <- eval.parent(ccall)
ans$call <- match.call()
ans
On 19 February 2010 19:58, lith <minilith at gmail.com> wrote:
> Does nobody have an advice concerning that problem? If it is a FAQ,
> I'd appreciate a pointer to a discussion of this issue. With the docs
> accessible to me, I wasn't able to solve that problem.
>
>> 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
>
> Regards,
> Tom
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Felix Andrews / 安福立
Postdoctoral Fellow
Integrated Catchment Assessment and Management (iCAM) Centre
Fenner School of Environment and Society [Bldg 48a]
The Australian National University
Canberra ACT 0200 Australia
M: +61 410 400 963
T: + 61 2 6125 4670
E: felix.andrews at anu.edu.au
CRICOS Provider No. 00120C
--
http://www.neurofractal.org/felix/
More information about the R-help
mailing list