[R] Function redefinition - not urgent, but I am curious
Peter Dalgaard
P.Dalgaard at biostat.ku.dk
Mon Apr 21 10:19:49 CEST 2008
Richard.Cotton at hsl.gov.uk wrote:
>> Suppose I write:
>>
>> f1 <- function(x) x + 1
>> f2 <- function(x) 2 * f1(x)
>> f2(10)
>> # 22
>> f1 <- function(x) x - 1
>> f2(10)
>> # 18
>>
>> This is quite obvious. But is there any way to define f2
>> in such a way that we "freeze" the definition of f1?
>>
>
> f1 <- function(x) x+1
> f1frozen <- f1
> f2 <- function(x) 2*f1frozen(x)
> f2(10) # 22
> f1 <- function(x) x-1
> f2(10) # 22
>
> f1 <- function(x) x+1
> f2 <- local({f1 <- f1; function(x) 2 * f1(x)})
> f2(10)
[1] 22
> f1 <- function(x) x-1
> f2(10)
[1] 22
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list