Re: [R] how to test for the empty set

From: Ted Harding <Ted.Harding_at_manchester.ac.uk>
Date: Mon, 24 Nov 2008 18:15:35 +0000 (GMT)


On 24-Nov-08 17:41:25, G. Jay Kerns wrote:
> Dear R-help,
> I first thought that the empty set (for a vector) would be NULL.
>
> x <- c()
> x
>
> However, the documentation seems to make clear that there _many_ empty
> sets depending on the vector's mode, namely, numeric(0), character(0),
> logical(0), etc. This is borne out by
>
> y <- letters[1:3]
> z <- letters[4:6]
> intersect(y,z)
>
> which, of course, is non-NULL:
>
> is.null(character(0)) # FALSE

In the above (and below) cases, would not

  (length(x)==0)

do?
Ted.

> So, how can we test if a vector is, say, character(0)? The following
> doesn't (seem to) work:
>
> x <- character(0)
> x == character(0) # logical(0)
>
> More snooping led to the following:
>
> wiki.r-project.org/rwiki/doku.php?id=tips:surprises:emptysetfuncs
>
> and at the bottom of the page it says "logical(0) is an empty set,
> thus is TRUE". However, I get
>
> isTRUE(logical(0)) # FALSE
>
> but, on the other hand,
>
> all.equal(x, character(0)) # TRUE
>
> This would seem to be the solution, but am I missing something? and in
> particular, is there an elegant way to check in the case that the mode
> of the vector is not already known?
>
> Thanks in advance for any insight you may have.
>
> Best,
> Jay



E-Mail: (Ted Harding) <Ted.Harding_at_manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861
Date: 24-Nov-08                                       Time: 18:15:31
------------------------------ XFMail ------------------------------

______________________________________________
R-help_at_r-project.org 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. Received on Tue 25 Nov 2008 - 10:17:28 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 25 Nov 2008 - 10:30:28 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive