rev.index <-
function (x, dims)
{
ld <- length(dims)
cumdim <- cumprod(dims)
ans <- array(NA, c(length(x), ld)) ans[, ld] <- (x-1) %/% cumdim[ld - 1] + 1
ans[, ld-1] <- (x-1) %% cumdim[ld - 1] + 1 if(ld > 2) {
for(i in (ld-1):2) {
y <- ans[, i]
ans[, i] <- (y-1) %/% cumdim[i - 1] + 1
ans[, i-1] <- (y-1) %% cumdim[i - 1] + 1
}
}
ans
}Patrick Burns
Burns Statistics [EMAIL PROTECTED] +44 (0)20 8525 0696 http://www.burns-stat.com (home of S Poetry and "A Guide for the Unwilling S User")
Buchsbaum, Brad (NIH/NIMH) wrote:
Hi,
Suppose I have a multidimensional array:
tmp <- array(1:8, c(2,2,2))
is there a function out there that, given a one-dimensional array index, will return the separate indices for each array dimension?
for instance, tmp[8] is equivalent to tmp[2,2,2]. I'd like to derive the
vector (2,2,2)
from the index 8.
thanks,
Brad Buchsbaum
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
