[R] Repeated Indexing / Sequence Operation

Gabor Grothendieck ggrothendieck at gmail.com
Fri Dec 31 19:31:57 CET 2010


On Fri, Dec 31, 2010 at 1:03 PM, Paolo Rossi
<statmailinglists at googlemail.com> wrote:
> Hi Everyone,
>
> quick question before the end of the year.
>
> I have soem indices to select data from a bigger sample. I want to select n
> days before each index and n days after the index. Any clever way to do it.
> A for loop would do but I wanted to know if there is a moreR-friendly way to
> approach this
>
> Example
> # InitialIndices
> i2 = (90, 190, 290)
>
> # Indices I want to end up with
> i3 = c(85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 185, 186, 187, 188, 189,
> 190, 191, 192, 193, 194, 195
> 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295)
> # A way to get Final Indices
> SampleWidth
> i3 = c(i2)
> for (j in seq(1, SampleWidth )) {
> i3 = c(i3, i2 + j )
>  i3 = c(i3, i2 - j )
>  }

Try this:

n <- 5
c(sapply(i2, function(x) seq(x - n, x + n)))


-- 
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com



More information about the R-help mailing list