On May 27, 2015, at 4:34 PM, blue honour via R-help wrote:

> Hi all,
> 
> Let's say I have a vector:
> 
> vv<-c(1,2,3)
> 
> 
> And suppose I have a function f(a,b), which is a function of 2 scalar inputs. 
> I would like to evaluate this function separately for each element of the vv 
> vector while the second input to f( ) will be the previous output from f( ). 
> So, the valuation of f() has a dependency on the previous f( ) valuation 
> (recursive). This type of calculation is easy to set up with a for loop but 
> that will run slow. How can I achieve this with apply family of functions 
> please?

The speed of loops is determined by the speed of their inner functions. The 
Reduce() function does what you request but for the application described it 
will need an init value.

Reduce(f, vv, init=<something>)

> I have the same question for the case when vv is a data.table instead of a 
> vector.

I could be wrong but that doesn't sound like an effective use of the data.table 
facilities.

-- 

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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