On Tue, 15 Sep 2015, Bert Gunter wrote:

Thanks to both Davids.

I realize that these things are often a matter of aesthetics -- and
hence have little rational justification -- but I agree with The Other
David: eval(parse) seems to me to violate R's soul( it makes R a macro
language instead of a functional one).

However, mapply(... switch) effectively loops through the frame row by
row. Aesthetically, I like it; but it seems inefficient. If there are
e.g. 1e6 rows in say 10 categories, I think Jeff's approach should do
much better.  I'll try to generate some actual data to see unless
someone else beats me to it.

Use mapply like this on large problems:

unsplit(
    mapply(
        function(x,z) eval( x, list( y=z )),
        expression( A=y*2, B=y+3, C=sqrt(y) ),
        split( dat$Flow, dat$ASB ),
        SIMPLIFY=FALSE),
    dat$ASB)

Chuck

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to