# [Rd] Looks like a bug in subsetting of a complicated object

Peter Ehlers ehlers at ucalgary.ca
Thu Sep 2 07:22:08 CEST 2010

```On 2010-09-01 16:22, Kjetil Halvorsen wrote:
> I don't understand what is happening! I have a (large) object sim1, an
> matrix list
> with dim c(101,101) where each element is an 3*3 matrix. I am
> subsetting that with
> a matrix coo, of dim c(100,2), of unique indices, but the resulting object
> has length 99, not 100 as expected.
>
> Code reproducing the problem follows:
>
>
> library(RandomFields)
>
> set.seed(123)
> sim0<- GaussRF(x=seq(0, 100, by=1),
>                  y=seq(0, 100, by=1),
>                  grid=TRUE, model="spherical",
>                  param=c(0, 1, 0, 10), trend=NULL, n=9, gridtriple=FALSE)
>
> simmatrices<- function(arr) # arr must be an array of rank 3
>                          {
>                 d<- dim(arr)
>                 n1<- d; n2<- d # we suppose d==9
>                 res<- vector(length=n1*n2, mode="list")
>                 dim(res)<- c(n1, n2)
>                 for (i in 1:n1) for (j in 1:n2) {
>                   x1<- arr[i, j, 1:3];x2<- arr[i, j, 4:6]
>                   x3<- arr[i, j, 7:9]
>                   res[[i, j]]<- x1%o%x1 + x2%o%x2 + x3%o%x3
>                 }
>                 res
>               }
>
> sim1<- simmatrices(sim0)
>
> set.seed(234)
> x<- sample(seq(0, 100, by=1), 101, replace=TRUE)
> y<- sample(seq(0, 100, by=1), 101, replace=TRUE)
> coo<- cbind(x=x, y=y)
> coo<- unique(coo)
>
> sim1.obs<- sim1[coo]
>
> dim(coo)
> length(sim1.obs)

One of the values in coo is zero.

-Peter Ehlers

>
>
>> sessionInfo()
> R version 2.11.1 (2010-05-31)
> i686-pc-linux-gnu
>
> locale:
>    LC_CTYPE=en_US.utf8       LC_NUMERIC=C
>    LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8
>    LC_MONETARY=C             LC_MESSAGES=en_US.utf8
>    LC_PAPER=en_US.utf8       LC_NAME=C
>  LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
>
> attached base packages:
>  stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
>  lattice_0.18-8      gstat_0.9-69        sp_0.9-66
>  RandomFields_1.3.41
>
> loaded via a namespace (and not attached):
>  fortunes_1.3-7 grid_2.11.1    tools_2.11.1
>>
>
> Kjetil
>

```