Home > Back-end >  Compute sequence of summed fractions in R
Compute sequence of summed fractions in R

Time:11-17

I want to compute the following sequence using R, without loops, i.e. for cycles.

1   (2/3)   ((2/3)*(4/5))   ((2/3)*(4/5)*(6/7))   ...   ((2/3)*(4/5)*...(20/21))

So far, I tried different approaches with a sequence as well as a while function, but could not came up with a suitable solution. Help would be highly appreciated.

CodePudding user response:

We may use cumprod

v1 <- seq(2, 20, by = 2)
v2 <- seq(3, 21, by = 2)
1   sum(cumprod(v1/v2))
[1] 4.945724

-manual calculation

1   (2/3)   ((2/3)*(4/5))   ((2/3)*(4/5)*(6/7))   ((2/3)*(4/5)*(6/7) * (8/9))   ((2/3)*(4/5)*(6/7) * (8/9) * (10/11))    ((2/3)*(4/5)*(6/7) * (8/9) * (10/11) * (12/13))   ((2/3)*(4/5)*(6/7) * (8/9) * (10/11) * (12/13) * (14/15))   ((2/3)*(4/5)*(6/7) * (8/9) * (10/11) * (12/13) * (14/15) * (16/17))    ((2/3)*(4/5)*(6/7) * (8/9) * (10/11) * (12/13) * (14/15) * (16/17) * (18/19))   ((2/3)*(4/5)*(6/7) * (8/9) * (10/11) * (12/13) * (14/15) * (16/17) * (18/19) * (20/21))
[1] 4.945724
  • Related