Creating functions with a loop.
Interpreting your question slightly differently, where ff.k(x) is a
function call.
Suppose you want to get a list of functions like
x^2
x^2 -1
x^2 - 3
x^2 - 6
It's perfectly possible with something like this:
NextFunc <- function(f, i) {
# Takes in a function f and returns
# a different function that gives you
# f(x) - i
force(i) # probably unnecessary, but good practice as this just
might bite you in a loop
function(x) f(x) - i
}
Then
f <- function(x) x^2
f2 <- NextFunc(f, 1)
f3 <- NextFunc(f2, 2)
f3(3) # 6 = 3^2 - 1 - 2
Which should be wrappable in a loop.
Michael
On Tue, May 22, 2012 at 11:08 AM, David Winsemius
<dwinsemius at comcast.net> wrote:
On May 22, 2012, at 10:06 AM, Etienne Larriv?e-Hardy wrote:
Hi I am trying to create n functions where each function is defined in function one step before, i.e. something like ff.k(x) = ff.j(x) - sum(1:j), ? ? ?for j=k-1
There is a cumsum function:
cumsum(1:10)
?[1] ?1 ?3 ?6 10 15 21 28 36 45 55
Did you mean something like?:
?ff.k[j] <- ff.j[j] - sum(1:j), ? ? ?for j=k-1
In R the paren, "(", indicates that you are calling a function whereas you
appear interested in making an indexed assignment to a vector.
Is it possible? If it isn't and I manually create each function then is their a way to call them through a loop? ?My objective is to calculate something like result.k = ff.k(x1)/ff.k(x2) ? ? ?for k in 2:n
You may have clear idea about which k-indices should go where in that expression, but I surely do not. What are 'x1' and 'x2'? -- David Winsemius, MD West Hartford, CT
______________________________________________ R-help at 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.