# Re: [Rd] 0/1 vector for indexing leads to funny behaviour (PR#8389) (maybe a documentation deficiency?)

From: Tony Plate <tplate_at_acm.org>
Date: Tue 13 Dec 2005 - 18:04:20 GMT

I was going to write "This is described in both the introduction to R, and in the documentation for '['", except that I checked before I wrote and was surprised to be unable to any discussion of zeros in indexing in any of the first three places I looked:

(1) help page for '[' (There is discussion of zero indices here, but only in the context of using matrices to index matrices, not in the context of ordinary vector indices).

(2) Section 2.7 "Index vectors: selecting and modifying subsets of a data set" in "An Introduction to R", which does say this about numeric indices:

```     2. A vector of positive integral quantities. In
this case the values in the index vector must
lie in the set {1, 2, . . . , length(x)}
```
(This seems to commit the sin of not telling the whole truth.)

Question for others: did I miss something obvious, or is this a documentation deficiency that zeros in indices are not discussed in 3 of some obvious first places to look?

If indeed this is a documentation deficiency, I'm happy to contribute documentation patch, but I await other opinions before spending any time on that.

rasche@molgen.mpg.de wrote:
> Full_Name: Axel Rasche
> Version: 2.2.0
> OS: Linux
> Submission from: (NULL) (141.14.21.81)
>
>
> Dear Debuggers,
>
> This is not a serious problem. Are 0/1 vectors intended to be used as index
> vectors? If yes, there is a bug. If not, it leads just to some funny behaviour
> rather than an error message.
>
> In the appendix is some simple code to reproduce the problem. A logical vector
> as.logic(a) helps by indexing the vector b. The 0/1 vector a just returns the
> first value "a". But as many times as there is a 1 in a.
>
> Best regards,
> Axel
>
>
> Appendix:
>
> b = c("a","b","c","d")
> a = c(0,1,1,0)
> b[as.logical(a)]
> b[a]
> a = c(1,0,1,0)
> b[as.logical(a)]
> b[a]
> a = c(0,1,1,1)
> b[as.logical(a)]
> b[a]
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Dec 14 06:44:00 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:34 GMT