[R] Idioms for empty dataframes

Ranjan Bagchi ranjan.bagchi at frotz.com
Mon Oct 1 18:01:13 CEST 2007


I'm fairly new to R, coming from a programming background -- it's quite 
nice to work with dataframes, though, as opposed to explicit iteration.

One thing I've found, which is surprising is that zero-length dataframes 
seem to cause errors:

> t <- data.frame(bob=c(100))
> order(t$bob)
[1] 1
> t1 <- t[t$bob < 50]
> order(t1$bob)
Error in order(na.last, decreasing, ...) :
 	argument 1 is not a vector

I'd expect c() as a result, not an error.

So I have two questions --
  Is there something important I'm misunderstanding?
  What idioms do experts use to deal with this?  Just calling nrow to 
handle the 0 case?  Something cleaner?

Thanks,

Ranjan



More information about the R-help mailing list