Leaving the indices empty should give you what I'm guessing you want/expect.
x[,,2] #. TRUE would also work, just not in a list. David. On Nov 1, 2011, at 6:14 PM, Ernest Adrogué <nfdi...@gmail.com> wrote: > Hi, > > On ocasion, you need to subscript an array that has an arbitrary > (ie. not known in advance) number of dimensions. How do you deal with > these situations? > It appears that it is not possible use a list as an index, for > instance this fails: > >> x <- array(NA, c(2,2,2)) >> x[list(TRUE,TRUE,2)] > Error in x[list(TRUE, TRUE, 2)] : invalid subscript type 'list' > > The only way I know is using do.call() but it's rather ugly. There > must be a better way!! > >> do.call('[', c(list(x), TRUE, TRUE, 2)) > [,1] [,2] > [1,] NA NA > [2,] NA NA > > Any idea? > > Regards, > Ernest > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.