Hi,
maybe this has been suggested before, but would it be possible,
without not breaking too much existing code, to add other "dimension
vector attributes" in addition to 'dimnames'? These attributes
would
then be subsetted just like dimnames.
Something like this:
> x <- array(1:30, dim=c(2,3,5))
> dimnames(x) <- list(c("a", "b"), c("a1",
"a2", "a3"), NULL);
> dimattr(x, "misc") <- list(1:2, list(x=1:5, y=letters[1:8],
z=NA), letters[1:5]);
> y <- x[,1:2,2:3]
> str(dimnames(y))
List of 3
$ : chr [1:2] "a" "b"
$ : chr [1:2] "a1" "a2"
$ : NULL> str(dimattr(x, "misc"))
List of 3
$ : int [1:2] 1 2
$ :List of 2
..$ x: int [1:5] 1 2 3 4 5
..$ y: chr [1:8] "a" "b" "c" "d" ...
$ : chr [1:2] "b" "c"
I can imagine this needs to be added in several places and functions
such as is.vector() needs to be updated etc. It is not a quick
migration, but is it something worth considering for the future?
/Henrik