Thanks,
   I feel like I was so close!!!

KW

--

On Nov 9, 2012, at 4:48 AM, Rui Barradas <[email protected]> wrote:

> Hello,
> 
> Something like this?
> 
> 
> fun <- function(years, periods){
>    res <- lapply(splitIt(1:12, periods), function(x) groupingStrings(years, 
> x))
>    names(res) <- as.integer(names(res)) + 1L
>    res
> }
> 
> fun(2010:2011, 1)
> fun(2010:2011, 2)
> fun(2010:2011, 4)
> fun(2010:2011, 12)
> 
> 
> Hope this helps,
> 
> Rui Barradas
> Em 09-11-2012 03:39, Keith Weintraub escreveu:
>> Folks,
>>   This question is somewhat related to a previous posting of mine.
>> 
>> I just can't seem to create a generic solution.
>> 
>> Here is a function that I found searching around the internet:
>> splitIt <- function(x, n) {split(x, sort(rank(x) %% n))}
>> 
>> I use it like so:
>>> splitIt(1:12, 2)
>> $`0`
>> [1] 1 2 3 4 5 6
>> 
>> $`1`
>> [1]  7  8  9 10 11 12
>> 
>> Or
>>> splitIt(1:12, 4)
>> $`0`
>> [1] 1 2 3
>> 
>> $`1`
>> [1] 4 5 6
>> 
>> $`2`
>> [1] 7 8 9
>> 
>> $`3`
>> [1] 10 11 12
>> 
>> I am splitting 12 months into 6-month or quarterly chunks. I can also use 
>> the function to create monthly or segments or one big annual segment.
>> 
>> Here is a function that I developed:
>> 
>> groupingStrings<-function(yrs, numSplits) {
>>  unlist(lapply(yrs, function(x){ paste(x,formatC(numSplits, width = 2, flag 
>> = 0), collapse = "|", sep = "")}))
>> }
>> 
>> Here is an example of running the function:
>> groupingStrings(2004:2006, 1:3)
>> [1] "200401|200402|200403" "200501|200502|200503" "200601|200602|200603"
>> 
>> This would yield first quarter matches for the years 2004 through 2006.
>> 
>> My plan was to use both splitIt and groupingStrings to be able to create 
>> regexps  all quarters.
>> 
>> In addition I want it to be flexible enough for me to be able to create 
>> matching regexps for monthly, quarterly, semi-annually and annual regexps.
>> 
>> One more example. Suppose I wanted to look at data semi-annually for 2010 
>> through 2011. The regexps would be:
>>  "201001|201002|201003|201004|201005|201006"
>>  "201007|201008|201009|201010|201011|201012"
>>  "201101|201102|201103|201104|201105|201106"
>>  "201107|201108|201109|201110|201111|201112"
>> 
>> I hope I have explained my problem clearly.
>> 
>> Thanks much for your time,
>> KW
>> 
>> 
>> --
>> 
>> 
>>      [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> [email protected] 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.
> 


        [[alternative HTML version deleted]]

______________________________________________
[email protected] 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.

Reply via email to