Hi,
Strange things happen with missing args in S4 methods: > setGeneric("mygen", signature="x", function(x, ...) standardGeneric("mygen")) [1] "mygen" > setMethod("mygen", "character", function(x, y=12, z, ...) {cat(missing(y), "\n"); cat(y, "\n")}) [1] "mygen" > mygen("aa", z=99) TRUE 12 > mygen("aa", , 99) TRUE Error in cat(y, "\n") : argument is missing, with no default ^^^^^^^ ^^^^^^^^^^ TRUE NOT TRUE! For "normal" functions, things work as expected: > myfun <- function(x, y=12, z, ...) {cat(missing(y), "\n"); cat(y, "\n")} > myfun("aa", z=99) TRUE 12 > myfun("aa", , 99) TRUE 12 And with S3 generics too: > dd <- data.frame(aa=letters[1:9], ii=9:1) > head(dd, z="ignored") aa ii 1 a 9 2 b 8 3 c 7 4 d 6 5 e 5 6 f 4 > head(dd, , "ignored") aa ii 1 a 9 2 b 8 3 c 7 4 d 6 5 e 5 6 f 4 Cheers, H. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel