[Rd] subsetting matrix by subscript=0,x silently skips.

Tony Plate tplate at blackmesacapital.com
Thu Jan 18 16:44:17 CET 2007


The help page for "[" says:

A third form of indexing is via a numeric matrix with the one column for 
each dimension: each row of the index matrix then selects a single 
element of the array, and the result is a vector. Negative indices are 
not allowed in the index matrix. NA and zero values are allowed: rows of 
an index matrix containing a zero are ignored, whereas rows containing 
an NA produce an NA in the result.

So, I think it is behaving as documented.

-- Tony Plate

Hin-Tak Leung wrote:
> (e-mailing to R-bugs is intentional - the web itnerface seems to
> be down)
> 
>  > a<- cbind(c(1,2), c(3,4))
>  > a
>       [,1] [,2]
> [1,]    1    3
> [2,]    2    4
> 
>  > a[cbind(c(2,2), c(2,1))]
> [1] 4 2
>  > a[cbind(c(2,3), c(2,1))]
> Error: subscript out of bounds
>  > a[cbind(c(2,-1), c(2,1))]
> Error: negative values are not allowed in a matrix subscript
>  > a[cbind(c(2,0), c(2,1))]
> [1] 4
> 
> Am somewhat surprised that 2,0 just silently skip over and doesn't
> throw an error like 2,0 and 2,-1 . Surely it should throw
> an error about subscript should be >= 1?
> 
> 
> 
>  > sessionInfo()
> R version 2.4.1 (2006-12-18)
> i686-redhat-linux-gnu
> 
> locale:
> LC_CTYPE=en_GB.UTF-8;LC_NUMERIC=C;LC_TIME=en_GB.UTF-8;LC_COLLATE=en_GB.UTF-8;LC_MONETARY=en_GB.UTF-8;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=en_GB.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_GB.UTF-8;LC_IDENTIFICATION=C
> 
> attached base packages:
> [1] "splines"   "stats"     "graphics"  "grDevices" "utils"     "datasets"
> [7] "methods"   "base"
> 
> other attached packages:
> snpMatrix  survival
>    "1.0.4"    "2.30"
>  >
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list