From: <ggrothendieck_at_gmail.com>

Date: Tue 13 Dec 2005 - 19:56:23 GMT

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Dec 14 08:34:28 2005

Date: Tue 13 Dec 2005 - 19:56:23 GMT

The other place its discussed is in 3.4.1 of the R Language Definition:

http://finzi.psych.upenn.edu/R/doc/manual/R-lang.html#Indexing-by-vectors

On 12/13/05, Tony Plate <tplate@acm.org> wrote:

> Yes, 0/1 (numeric) are intended to be used as index vectors -- and they

*> have the semantics of numeric indices, which is that 0 elements in the
**> index are omitted from the result. This can be a very useful mode of
**> operation in many situations.
**>
**> 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.)
**>
**> (3) Section 5.5 "Array Indexing. Subsections of an array" (In "An
**> Introduction to R")
**>
**> 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.
**>
**> -- Tony Plate
**>
**> 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 i=
*

ndex

> > vectors? If yes, there is a bug. If not, it leads just to some funny be=

haviour

> > 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 retur=

ns the

> > first value "a". But as many times as there is a 1 in a.

*> >
**> > Best regards,
**> > Axel
**> >
**> >
**> > Appendix:
**> >
**> > b =3D c("a","b","c","d")
**> > a =3D c(0,1,1,0)
**> > b[as.logical(a)]
**> > b[a]
**> > a =3D c(1,0,1,0)
**> > b[as.logical(a)]
**> > b[a]
**> > a =3D 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
**>
*

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Dec 14 08:34:28 2005

*
This archive was generated by hypermail 2.1.8
: Wed 14 Dec 2005 - 02:21:46 GMT
*