[Rd] x[1,], x[1,,], x[1,,,], ...
Henrik Bengtsson
hb at maths.lth.se
Wed Nov 23 11:50:51 CET 2005
Hi,
is there a function in R already doing what I try to do below:
# Let 'x' be an array with *any* number of dimensions (>=1).
x <- array(1:24, dim=c(2,2,3,2))
...
x <- array(1:24, dim=c(4,3,2))
i <- 2:3
ndim <- length(dim(x))
if (ndim == 1)
y <- x[i]
else if (ndim == 2)
y <- x[i,]
else if (ndim == 3)
y <- x[i,,]
else ...
and so on. My current solution is
ndim <- length(dim(x))
args <- rep(",", ndim)
args[1] <- "i"
args <- paste(args, collapse="")
code <- paste("x[", args, "]", sep="")
expr <- parse(text=code)
y <- eval(expr)
ndim <- length(dim(x))
args <- rep(",", ndim)
args[1] <- "i"
args <- paste(args, collapse="")
code <- paste("x[", args, "]", sep="")
expr <- parse(text=code)
y <- eval(expr)
Is there another way I can do this in R that I have overlooked?
/Henrik
More information about the R-devel
mailing list