x <- array(1:30, c(4,5,3)) x[1,,] How can I do the same thing with do.call? do.call("[", list(x, 1)) == x[1] do.call("[", list(x, 1, NULL, NULL)) == x[1, NULL, NULL] I guess you can't, because of the special way that [ deals with arguments. How can I index an array programmatically for arrays and indices of varying dimensionality? Thanks, Hadley
On 1/18/06, hadley wickham <h.wickham at gmail.com> wrote:> x <- array(1:30, c(4,5,3)) > x[1,,] > > How can I do the same thing with do.call?do.call("[", list(x, 1, TRUE, TRUE)) seems to work for me. Deepayan> > do.call("[", list(x, 1)) == x[1] > do.call("[", list(x, 1, NULL, NULL)) == x[1, NULL, NULL] > > I guess you can't, because of the special way that [ deals with arguments. > > How can I index an array programmatically for arrays and indices of > varying dimensionality?