[R] Odp: Idioms for empty dataframes
Petr PIKAL
petr.pikal at precheza.cz
Mon Oct 1 18:13:40 CEST 2007
Hi
r-help-bounces at r-project.org napsal dne 01.10.2007 18:01:13:
> 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.
Several comments
data frames have dimensions so
t1 <- t[t$bob < 50] # works but is different from
t1 <- t[t$bob < 50,]
If subset operation [] results i 1 dim object it looses dimension (so as
names), to prevent this call
t1 <- t[t$bob < 50, ,drop=F]
Regards
Petr
>
> 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
>
> ______________________________________________
> 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.
More information about the R-help
mailing list