You need to substitute it into yourself. Also note that displaying a function will display its source attribute which may get unsynchronized with the actual function if the function was constructed yourself so NULL it out to be sure what you are seeing is what the unction actually is:
# g is the function that returns the square of a number g <- function(y) y^2 > # f1 is a function that takes one function > # as argument, and returns another function > f1 <- function(f) function(x) f(x+1) - f(x) > > # h(x) is g(x+1) - g(x) or 2x + 1 > h <- f1(g) > h function(x) f(x+1) - f(x) <environment: 0x01e79470> > > f2 <- function(f) eval(substitute(function(x) f(x+1) - f(x))) > h2 <- f2(g) > h2 # this is displaying the source attribute, not the actual function function(x) f(x+1) - f(x) <environment: 0x01e75494> > attr(h2, "source") <- NULL > h2 # now we are seeing the actual function function (x) g(x + 1) - g(x) <environment: 0x01e75494> On 10/10/06, Alberto Monteiro <[EMAIL PROTECTED]> wrote: > The following code works fine: > > # g is the function that returns the square of a number > g <- function(y) y^2 > > # f1 is a function that takes one function > # as argument, and returns another function > f1 <- function(f) function(x) f(x+1) - f(x) > > # h(x) is g(x+1) - g(x) or 2x + 1 > h <- f1(g) > > # h(1) = 3 > # h(2) = 5 > # h(3) = 7 > > So far, so good. But why: > > h > > shows: > > function(x) f(x+1)-f(x) > <environment: 0264BE84> > > I don't get it. h should show function(x) g(x+1)-g(x) > or something like that. > > Alberto Monteiro > > ______________________________________________ > [email protected] 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. > ______________________________________________ [email protected] 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.
