[R] Summary: do.call and environments
Spencer Graves
spencer.graves at pdf.com
Thu Mar 11 10:22:38 CET 2004
ff1 <- function(fun, x) {
assign(fun, get(fun), 1)
assign("x", x, 1)
do.call(fun, list(y=3))
}
tst <- ff1("fx", 2)
This assigns "6" to "tst" in both S-Plus 6.2 as R 1.8.1. However,
it also prints "[1] 6" in S-Plus 6.2 but not R. ???
Best Wishes,
Spencer Graves
Thomas Petzoldt wrote:
> Hello,
>
>> > f("fx",2)
>> [1] 6
>>
>> I would have naively expected 14. From whence cometh "6"?
>> Also, I prefer to use transportable code wherever feasible. The
>
>
> 2*3=6, which was the intention. It is in fact only a proof of
> correctness, that "7" is not used here. The proposal of Gabor does
> exactly, what I want, but if it does not work on S-PLUS, it's a
> serious disadvantage and I should check this too.
>
> Thomas P.
More information about the R-help
mailing list