[R] Building a random walk vector
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Aug 4 03:50:10 CEST 2006
On 8/3/2006 9:17 PM, Matthew Wilson wrote:
> I'm studying R in my free time. I want to build a vector where each
> element is equal to the element before it in the sequence plus some
> random tweak.
>
> In python, I would write:
>
> vec = [100] * 50 # make a 50-element list with each element set to 100
> from random import randint
> for i, v in enumerate(vec):
> if i is not 0: # if we're not on the first element
> vec[i] = vec[i-1] + randint(-2, 2)
>
> I suspect R has some fancier way of doing this. How to?
Assuming randint(-2, 2) gives a value uniform on (-2, 2) a quick way to
do what you want is
vec <- 100 + c(0, cumsum(runif(49, -2, 2)))
Duncan Murdoch
More information about the R-help
mailing list