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.

Reply via email to