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]]

