Hi, I am working on writing some S4 classes that represent multidimensional (brain) image data. I would like these classes to support standard array indexing. I have been studying the Matrix and EBImage (http://www.bioconductor.org/packages/1.9/bioc/html/EBImage.html) packages to see how this is done.
When using objects of the "array" class directly, R distinguishes between the calls: x[i,,] and x[i] with the former returning a 2D array of values and the latter returning a single value. The question I have is whether this same behavior can be simulated in classes that do not inherit from the "array" class directly? (See below for a snippet from the EBImage package which suggests that it cannot). My guess is that native array indexing is making use of the information provided by the commas, and this is unavailable to user implemented class methods? thanks, Brad Buchsbaum # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setMethod("[", signature(x = "Image", i = "numeric", j = "missing"), function(x, i, j, k, ..., drop) { if (missing(k)) { warning("using index [int], cannot distinguish from [int,,ANY], use [int,1:dim(x)[2],ANY] otherwise") tmp = [EMAIL PROTECTED], drop = FALSE] } else { tmp = [EMAIL PROTECTED], , k, drop = FALSE] } ... } ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel