[R] The end of Matlab

hadley wickham h.wickham at gmail.com
Fri Dec 12 14:25:00 CET 2008


> From which you might conclude that I don't like the design of subset, and
> you'd be right.  However, I don't think this is a counterexample to my
> general rule.  In the subset function, the select argument is treated as an
> unevaluated expression, and then there are rules about what to do with it.
>  (I.e. try to look up name `a` in the data frame, if that fails, ...)
>
> For the requested behaviour to similarly fall within the general rule, we'd
> have to treat all indices to all kinds of things (vectors, matrices,
> dataframes, etc.) as unevaluated expressions, with special handling for the
> particular symbol `end`.

Except you wouldn't have to necessarily change indexing - you could
change seq instead.  Then 5:end could produce some kind of special
data structure (maybe an iterator) that was recognised by the various
indexing functions.  This would still be a lot of work for not a lot
of payoff, but it would be a logically consistent way of adding this
behaviour to indexing, and the basic work would make it possible to
develop other sorts of indexing, eg df[evens(), ], or df[last(5),
last(3)].

Hadley

-- 
http://had.co.nz/



More information about the R-help mailing list