>>>>> "RF" == Romain Francois <romain.franc...@dbmail.com> >>>>> on Sun, 11 Oct 2009 01:00:24 +0200 writes:
RF> Hello, Just wondering why there is "isTRUE" and not RF> "isFALSE". Probably because it's slightly more natural to have if(isTRUE(....)) { .. } rather than the corrsponding isFALSE() Further, e.g. all.equal() and validObject() return *either* TRUE or a string, and hence isTRUE(.) is usefully applied to their return values. Are there other opinions on this? Martin > -- > Romain Francois > Professional R Enthusiast > +33(0) 6 28 91 30 30 > http://romainfrancois.blog.free.fr > |- http://tr.im/BcPw : celebrating R commit #50000 > |- http://tr.im/ztCu : RGG #158:161: examples of package IDPmisc > `- http://tr.im/yw8E : New R package : sos > Index: src/library/base/R/identical.R > =================================================================== > --- src/library/base/R/identical.R (revision 50027) > +++ src/library/base/R/identical.R (working copy) > @@ -18,3 +18,5 @@ > .Internal(identical(x,y, num.eq, single.NA, attrib.as.set)) > isTRUE <- function(x) identical(TRUE, x) > + > +isFALSE <- function(x) identical(FALSE, x) > Index: src/library/base/man/Logic.Rd > =================================================================== > --- src/library/base/man/Logic.Rd (revision 50027) > +++ src/library/base/man/Logic.Rd (working copy) > @@ -14,6 +14,7 @@ > xor(x, y) > isTRUE(x) > +isFALSE(x) > } > \alias{!} > \alias{&} > @@ -23,6 +24,7 @@ > \alias{xor} > \alias{Logic} > \alias{isTRUE} > +\alias{isFALSE} > \description{ > These operators act on logical and number-like vectors. > } > @@ -48,7 +50,11 @@ > \code{isTRUE(x)} is an abbreviation of \code{identical(TRUE, x)}, and > so is true if and only if \code{x} is a length-one logical vector with > no attributes (not even names). > - > + > + \code{isFALSE(x)} is an abbreviation of \code{identical(FALSE, x)}, and > + so is true if and only if \code{x} is a length-one logical vector with > + no attributes (not even names). > + > Numeric and complex vectors will be coerced to logical values, with > zero being false and all non-zero values being true. Raw vectors are > handled without any coercion for \code{!}, \code{&}, \code{|} and > @@ -87,7 +93,7 @@ > used. For arrays (and an array result) the dimensions and dimnames > are taken from first argument if it is an array, otherwise the second. > - For \code{||}, \code{&&} and \code{isTRUE}, a length-one logical vector. > + For \code{||}, \code{&&}, \code{isFALSE} and \code{isTRUE}, a length-one logical vector. > } > \section{S4 methods}{ > \code{!}, \code{&} and \code{|} are S4 generics, the latter two part > Index: src/library/base/man/identical.Rd > =================================================================== > --- src/library/base/man/identical.Rd (revision 50027) > +++ src/library/base/man/identical.Rd (working copy) > @@ -85,7 +85,8 @@ > \seealso{ > \code{\link{all.equal}} for descriptions of how two objects differ; > \link{Comparison} for operators that generate elementwise comparisons. > - \code{\link{isTRUE}} is a simple wrapper based on \code{identical}. > + \code{\link{isTRUE}} and \code{\link{isFALSE}} are simple > + wrappers based on \code{identical}. > } > \examples{ > identical(1, NULL) ## FALSE -- don't try this with == > ______________________________________________ > 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