On 1 September 2006 at 14:30, [EMAIL PROTECTED] wrote: | The apply with the cumprod was exactly what I was after. The apply just | wasn't clicking with me, and I had overlooked the cumprod. Thanks to all | for pushing me down the right path! | | Actually, what I am ultimately after is a way to link this series, without | having to use a for loop ( the only way I can think of ... ). But, would | like to see if it can be linked using mapply or apply against the rows | and to compute the linked results. | | zz = matrix(rnorm(20), ncol=2) | zzcum = apply(zz/100 + 1, 2, cumprod) | zzlinkcum = 100*zzcum | for(i in 2:length(zz[,1])){ zzlinkcum[i,]=zzlinkcum[i-1,]*zzcum[i,]} ### | Is there a better way here ?
Sure, why not call apply again? > set.seed(42); zz <- matrix(rnorm(20), ncol=2) > zzcum <- apply(1+zz/100, 2, cumprod) > apply(rbind(c(1,1), zzcum), 2, cumprod)*100 [,1] [,2] [1,] 100.0000 100.0000 [2,] 101.3710 101.3049 [3,] 102.1804 104.9735 [4,] 103.3704 107.2642 [5,] 105.2360 109.2994 [6,] 107.5684 111.2246 [7,] 109.8358 113.9036 [8,] 113.8461 116.3156 [9,] 117.8912 115.6233 [10,] 124.5442 112.1301 [11,] 131.4900 110.1781 > Hth, Dirk -- Hell, there are no rules here - we're trying to accomplish something. -- Thomas A. Edison ______________________________________________ R-help@stat.math.ethz.ch 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.