[EMAIL PROTECTED] 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 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ R-help@r-project.org mailing list 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.