On Nov 8, 2010, at 4:30 AM, Nick Sabbe wrote:

Whenever you use a recursion (that cannot be expressed otherwise), you
always need a (for) loop.

Not necessarily true ... assuming "a" is of length "n":

a[2:n] <- a[1:(n-1))]*b + cc[1:(n-1)]
# might work if b and n were numeric vectors of length 1 and cc had length >= n. (Never use "c" as a vector name.) # it won't work if there are no values for the nth element at the beginning and you are building up a element by element.

And you always need to use operations that appropriate to the object type. So if "a" really is a list, this will always fail since arithmetic does not work on list elements. If on the other hand, the OP were incorrect in calling this a list and "a" were a numeric vector, there might be a chance of success if the rules of indexing were adhered to. The devil is in the details and the OP has not supplied enough code to tell what might happen.

--
David.

Apply and the like do not allow to use the intermediary results (i.e. a[i-1]
to calculate a[i]).

So: no, it cannot be avoided in your case, I guess.


Nick Sabbe
--
ping: nick.sa...@ugent.be
link: http://biomath.ugent.be
wink: A1.056, Coupure Links 653, 9000 Gent
ring: 09/264.59.36

-- Do Not Disapprove



-----Original Message-----
From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org ] On
Behalf Of PLucas
Sent: maandag 8 november 2010 10:26
To: r-help@r-project.org
Subject: [R] How to eliminate this for loop ?


Hi, I would like to create a list recursively and eliminate my for loop :

a<-c()
a[1] <- 1; # initial value
for(i in 2:N) {
        a[i]<-a[i-1]*b - c[i-1] # b is a value, c is another vector
}


Is it possible ?

Thanks
--
View this message in context:
http://r.789695.n4.nabble.com/How-to-eliminate-this-for-loop-tp3031667p30316
67.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to