Hi, I'm quite new to R so this question will sound quite fundamental. I need to create a vector of length 160. The first element should be (1+r)^159 and each element thereafter should decrease by a factor of (1+r) until the 160th element that should be 1. Is there a function similar to seq() but increasing or decreasing by factors? I need to do this in one step i.e, not using loops. Any help would be greatly appreciated. Regards, Andre [[alternative HTML version deleted]]
On 02-May-11 07:55:27, andre bedon wrote:> Hi, > I'm quite new to R so this question will sound quite fundamental. > I need to create a vector of length 160. The first element should > be (1+r)^159 and each element thereafter should decrease by a > factor of (1+r) until the 160th element that should be 1. > Is there a function similar to seq() but increasing or decreasing > by factors? I need to do this in one step i.e, not using loops. > Any help would be greatly appreciated. > Regards, > AndreOne expression which would do what you want is rev((1+r)^(0:159)) though there may be more efficient ways to do it. This assumes that r, hence (1+r), is given. If you are given the value X1 of the first element, which is to be interpreted as (1+r)^159, then perhaps take (1+r) as X1^(1/159), though there is a potential slight inaccuracy in recovering X0 from (1+r)^159. So check this first. Hoping this helps, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.harding at wlandres.net> Fax-to-email: +44 (0)870 094 0861 Date: 02-May-11 Time: 09:50:55 ------------------------------ XFMail ------------------------------
On 02.05.2011 09:55, andre bedon wrote:> > Hi, > I'm quite new to R so this question will sound quite fundamental. I need to create a vector of length 160. The first element should be (1+r)^159 and each element thereafter should decrease by a factor of (1+r) until the 160th element that should be 1. Is there a function similar to seq() but increasing or decreasing by factors? I need to do this in one step i.e, not using loops. Any help would be greatly appreciated.Yes: (1+r)^(159:0) Uwe Ligges> Regards, > Andre > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.