Hello everybody. I didn't see Franklin's first message; sorry.
Bearing in mind Professor Ripley's comments on the efficiency of S4 vs S3, I'm beginning to think I should just stick with S3 methods for my brob objects. After all, S3 was perfectly adequate for the onion package. Notwithstanding that, here's my next problem. I want to define a brob method for "c". Using the example in package "arules" as a template (I couldn't see one in Matrix), I have setClass("brob", representation = representation (x="numeric",positive="logical"), prototype = list(x=numeric(),positive=logical()) ) "brob" <- function(x,positive){ if(missing(positive)){ positive <- rep(TRUE,length(x)) } if(length(positive)==1){ positive <- rep(positive,length(x)) } new("brob",x=x,positive=positive) } setGeneric("getX",function(x){standardGeneric("getX")}) setGeneric("getP",function(x){standardGeneric("getP")}) setMethod("getX","brob",function(x)[EMAIL PROTECTED]) setMethod("getP","brob",function(x)[EMAIL PROTECTED]) setMethod("c",signature(x="brob"), function(x, ..., recursive=FALSE){ xx <- [EMAIL PROTECTED] xpos <- [EMAIL PROTECTED] z <- list(...) return( brob( c(xx,do.call("c",lapply(z,getX))), c(xpos,do.call("c",lapply(z,getP))) ) ) } ) Now, this works for something like > x <- new("brob",x=pi,positive=T) > c(x,x) but c(1,x) isn't dispatched to my function. How to deal cleanly with this case? Perhaps if any argument to c() is a brob object, I would like to coerce them all to brobs. Is this possible? -- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel