I'm having problems understanding how setMethod works. I'm trying to
create a class specfic method for xyplot, so I thought I should do
something like this:
setMethod("xyplot",
signature(data = "marrayRaw"),
function(formula, data, ...) {
xyplot.ma(formula, do.something.with.data(data), ...)
}
)
but I get the following error:
In method for function "xyplot": Expanding the signature to include
omitted
arguments in definition: allow.multiple = "missing", outer =
"missing",
auto.key = "missing", aspect = "missing", layout =
"missing", panel "missing", prepanel = "missing",
scales = "missing", strip = "missing",
groups = "missing", xlab = "missing", xlim =
"missing", ylab = "missing",
ylim = "missing", subscripts = "missing", subset =
"missing"
Error in .MakeSignature(new("signature"), def, signature) :
The names in signature for method (formula, data, , , , , , , ,
, , , , , , , , , ) don't match function's arguments
(formula, data, allow.multiple, outer, auto.key, aspect, layout, panel,
prepanel, scales, strip, groups, xlab, xlim, ylab, ylim, subscripts, subset)
What I am doing wrong? I have tried using the full argument list for
xyplot (where I have function(formula, data, ...) above) but then I run
into problems passing on the arguments that have no defaults (eg. xlab,
ylab).
Thanks for you help,
Hadley