[Rd] array indexing
Uwe Ligges
ligges at statistik.tu-dortmund.de
Fri Dec 5 18:13:46 CET 2008
Robin Hankin wrote:
> Hi.
>
> I have been pondering array indexing via matrices.
>
> > a <- array(1:27,rep(3,3))
> > index <- matrix(c(1,1,1,1,2,3),2,3,byrow=TRUE)
> > a[index]
> [1] 1 22
>
>
> as expected and documented. But what was the thinking
> behind the decision to access the array by rows rather
> than columns?
>
> The 'index' matrix is ordered as [1,1,1,2,1,3] and so
> the extraction is a[index[c(1,3,5)]] for the first element
> and a[index[c(2,3,6)]] for the second.
> If the indexing was by columns then we would have
>
> <fantasy>
> > a <- array(1:27,rep(3,3))
> > index <- matrix(c(1,1,1,1,2,3),2,3)
> > a[index]
> [1] 1 22
> </fantasy>
>
> Thus the extraction is a[index[1:3]] and a[index[4:6]].
>
> This seems to be a sensible way of going about array indexing.
> For example, even *defining* the 'index'
> matrix is simpler.
>
> So, what is the thinking behind the behaviour as implemented?
>
> I'm asking because I want to understand the thinking behind the
> decision.
From my point of view common thinking with matrices and data.frames is
that one row corresponds to one observation (that should be extracted).
Uwe Ligges
>
> rksh
>
More information about the R-devel
mailing list