Dear R folks,
I need to simulate first passage times for iterated partial sums. The related papers are for example [1][2]. As a start I want to simulate how long a simple random walk stays negative, which should result that it behaves like n^(-½). My code looks like this. -------- 8< -------- code -------- >8 -------- n = 100000 # number of simulations length = 100000 # length of iterated sum z = rep(0, times=length + 1) for (i in 1:n) { x = c(0, sign(rnorm(length))) s = cumsum(x) for (i in 1:length) { if (s[i] < 0 && s[i + 1] >= 0) { z[i] = z[i] + 1 } } } plot(1:length(z), z/n) curve(x**(-0.5), add = TRUE) -------- 8< -------- code -------- >8 -------- This code already runs for over half an hour on my system¹. Reading about the for loop [3] it says to try to avoid loops and I probably should use a matrix where every row is a sample. Now my first problem is that there is no matrix equivalent for `cumsum()`. Can I use matrices to avoid the for loop? My second question is, is R the right choice for such simulations? It would be great when R can also give me a confidence interval(?) and also try to fit a curve through the result and give me the rule of correspondence(?) [4]. Do you have pointers for those? I glanced at simFrame [5] and read `?simulate` but could not understand it right away and think that this might be overkill. Do you have any suggestions? Thanks, Paul ¹ AMD Athlon(tm) X2 Dual Core Processor BE-2350, 2,1 GHz [1] http://www-stat.stanford.edu/~amir/preprints/irw.ps [2] http://arxiv.org/abs/0911.5456 [3] http://cran.r-project.org/doc/manuals/R-intro.html#Repetitive-execution [4] https://secure.wikimedia.org/wikipedia/en/wiki/Function_(mathematics) [5] http://finzi.psych.upenn.edu/R/library/simFrame/html/runSimulation.html
signature.asc
Description: This is a digitally signed message part
______________________________________________ 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.