Unfortunately my actual function is a bit more complicated than "ce=ce+be" and does many transformations on the original vectors. Maybe something like this better conveys what I am trying to do:
functM <- function(eh,be,period,endPeriod){ period <- period+1 ce <- eh+be de <- (eh+be)^2 ee <- ifelse(ce>de,de,ce) {if (period < endPeriod) functM(ce,be,period,endPeriod) else data.frame(eh,be,ce,de,ee,period)} } ones <- c(1,1,1) twos <- c(2,2,2) functM(ones,twos,0,4) On Sun, Jun 21, 2009 at 10:59 AM, Gabor Grothendieck<ggrothendi...@gmail.com> wrote: > Try Reduce: > > f <- function(d, incr = 1) with(d, > data.frame(eh = ce, be, ce = ce + be, period = period + incr)) > d <- data.frame(ce = ones, be = twos, period = 0) > Reduce(f, init = d, x = rep(1, 4)) > Reduce(f, init = d, x = rep(1, 4), accumulate = TRUE) > > > On Sun, Jun 21, 2009 at 9:06 AM, Economics Guy<economics....@gmail.com> wrote: >> # I have a function that takes a few vectors manipulates them and then >> outputs a matrix of results: >> >> funct1 <- function(eh,be){ >> ce <- eh+be >> data.frame(eh,be,ce) >> } >> >> ones <- c(1,1,1) >> twos <- c(2,2,2) >> funct1(ones,twos) >> >> >> # I would like to iterate it and save the results from each iteration. >> I could of course write a loop but I would like to do this is the most >> efficient way possible. The best I have come up with is this: >> >> >> functM <- function(eh,be,period,endPeriod){ >> period <- period+1 >> ce <- eh+be >> {if (period < endPeriod) >> functM(ce,be,period,endPeriod) >> else data.frame(eh,be,ce,period)} >> } >> >> ones <- c(1,1,1) >> twos <- c(2,2,2) >> functM(ones,twos,0,4) >> >> # As you can see it only reports the results form the last iteration. >> Here it is the 4th iteration, but if you change the last argument of >> the previous run of functM, you can see that it will always report the >> final matrix. How can I have it save/store/write the results of each >> iteration. I do not care if it stacks it all into the same matrix or >> if I have to write.csv each time. I just want to do it in the most >> efficient way possible (the actual program will run for many many >> iterations of large vectors. >> >> # Thanks. >> >> ______________________________________________ >> 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. >> > ______________________________________________ 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.