Bert Gunter <[EMAIL PROTECTED]> writes: > Merely convention.
There's a similar thread in the R-devel newgroup about 'prod(numeric(0)) surprise' started by Ben Bolker, 09 Jan 2006, (https://stat.ethz.ch/pipermail/r-devel/2006-January/036041.html) and the post by Andy Liaw (https://stat.ethz.ch/pipermail/r-devel/2006-January/036057.html) proved particularly helpful to me (mathematical reasons, in addition to convention): > From: Liaw, Andy <andy_liaw_at_merck.com> > Date: Mon 09 Jan 2006 - 18:27:41 GMT > If you haven't seen this in your math courses, perhaps this would help: > http://en.wikipedia.org/wiki/Empty_set > which says, in part: > Operations on the empty set > Operations performed on the empty set (as a set of things to be > operated upon) can also be confusing. (Such operations are nullary > operations.) For example, the sum of the elements of the empty set > is zero, but the product of the elements of the empty set is one > (see empty product). This may seem odd, since there are no elements > of the empty set, so how could it matter whether they are added or > multiplied (since "they" do not exist)? Ultimately, the results of > these operations say more about the operation in question than about > the empty set. For instance, notice that zero is the identity > element for addition, and one is the identity element for > multiplication. > Andy 'any' is like 'sum', 'all' is like 'prod'. Martin > NULL == 2 <==> logical(0), that is, a logical vector of length 0. It makes > sense (at least to me) that any(logical(0)) is FALSE, since no elements of > the vector are TRUE. all(logical(0)) is TRUE since no elements of the vector > are FALSE. > > I think these are reasonable and fairly standard conventions, but even if > you disagree, they are certainly not worth making a fuss over and certainly > cannot be changed without breaking a lot of code, I'm sure. > > Bert Gunter > Nonclinical Statistics > 7-7374 > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Benilton Carvalho > Sent: Wednesday, November 29, 2006 2:21 PM > To: R-Mailingliste > Subject: [R] tests for NULL objects > > Hi Everyone, > > After searching the subject and not being successful, I was wondering > if any you could explain me the idea behind the following fact: > > all(NULL == 2) ## TRUE > any(NULL == 2) ## FALSE > > Thanks a lot, > > Benilton > > -- > Benilton Carvalho > PhD Candidate > Department of Biostatistics > Johns Hopkins University > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Martin T. Morgan Bioconductor / Computational Biology http://bioconductor.org ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
