[R] Repeated Indexing / Sequence Operation

Duncan Murdoch murdoch.duncan at gmail.com
Fri Dec 31 19:08:44 CET 2010


On 31/12/2010 1:03 PM, Paolo Rossi 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

How about this:

SampleWidth <- 5
samples <- (-SampleWidth):SampleWidth
i2 <- c(90, 190, 290)
i3 <- as.vector(outer(samples, i2,  "+"))

Duncan Murdoch

>
> 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 )
>   }
>
>
> I tried to tackle this with seq and the apply families but got nowhere
>
> Thanks and Happy New Year
>
> Paolo
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list