"Buchsbaum, Brad (NIH/NIMH)" <[EMAIL PROTECTED]> writes: > 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.
One not very efficient way is this: > foo <- seq(along=tmp) > dim(foo)<-dim(tmp) > which(foo==8,arr.ind=TRUE) dim1 dim2 dim3 [1,] 2 2 2 For more efficient solutions peek inside the code of which() and see how it gets from ordinary indices to array indices using %% and %/% operations. (Not very easy to grasp, I know). -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help