[R] Multiple if function
Charles C. Berry
ccberry at ucsd.edu
Wed Sep 16 04:20:49 CEST 2015
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
More information about the R-help
mailing list