[R] Subseting in a 3D array

Tony Plate tplate at blackmesacapital.com
Wed Oct 15 19:04:48 CEST 2003


One way would be:

 > apply(ib5km.lincol.random[1:3,], 1, function(i) ib5km15.dbc[i[1],i[2],])

(untested)

-- Tony Plate

At Wednesday 06:47 PM 10/15/2003 +0200, Agustin Lobo wrote:

>Hi!
>
>I have a 3d array:
> > dim(ib5km15.dbc)
>[1] 190 241  19
>
>and a set of positions to extract:
> > ib5km.lincol.random[1:3,]
>      [,1] [,2]
>[1,]   78   70
>[2,]   29  213
>[3,]  180   22
>
>Geting the values of a 2D array
>for that set of positions would
>be:
>
> > ima <- ib5km15.dbc[,,1]
> > ima[ib5km.lincol.random[1:10,]]
>
>but don't find the way for the case
>of the 3D array:
>
> > ib5km15.dbc[ib5km.lincol.random[1:10,],]
>Error in ib5km15.dbc[ib5km.lincol.random[1:10, ], ] :
>         incorrect number of dimensions
>
>Could anyone suggest the way of subseting
>the 3D array to get a vector of z values
>for each position recorded in ib5km.lincol.random?
>(avoiding the use of for loops).
>
>Thanks
>
>Agus
>
>Dr. Agustin Lobo
>Instituto de Ciencias de la Tierra (CSIC)
>Lluis Sole Sabaris s/n
>08028 Barcelona SPAIN
>tel 34 93409 5410
>fax 34 93411 0012
>alobo at ija.csic.es
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://www.stat.math.ethz.ch/mailman/listinfo/r-help




More information about the R-help mailing list