Description Usage Arguments Details Value Author(s) See Also Examples
grep for YMD (year, month, day) in 
col.names.  Return a named list of integer 
vectors of length 3 for each triple found.  
| 1 | 
| col.names | either a character vector in which to search for names matching 
 | 
| YMD | a character vector of patterns to use in  | 
The data sets from the 
Correlates 
of War project include dates coded in triples of columns with 
names like c("StartMonth1", "StartDay1", "StartYear1", "EndMonth1", 
..., "EndYear2").  This function will find all relevent date 
triples in a character vector of column names and return a list 
of integer vectors of length 3 with names like "Start1", "End1", 
..., "End2" giving the positions in col.names of the 
desired date components.  
Algorithm:
1. if(!is.null(colnames(YMD)))YMD <- colnames(YMD)
2.  ymd <- grep for YMD (Year, Month, Day) 
in col.names.
3.  groupNames <- sub pattern with 
” in ymd
4.  Throw a warning for any groupNames 
character string that does not appear with all three of Year, 
Month, and Day.  
5. Return a list of integer vectors of length 3 for each triple found.
Returns a named list of integer vectors of length 3 identifying 
the positions in col.names of the desired date components.  
Spencer Graves
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ##
## 1.  character vector 
##
colNames <- c('war', 'StartMonth1', 'StartDay1', 'StartYear1', 
  'EndMonth1', 'EndMonth2', 'EndDay2', 'EndYear2', 'Initiator')
colNums <- dateCols(colNames)
# Should issue a warning:  
# Warning message:
# In dateCols(colNames) :
#   number of matches for Year = 2 != number of matches for Month = 3
# check 
colN <- list(Start1=c(Year=4, Month=2, Day=3), 
             End2=c(Year=8, Month=6, Day=7) )
all.equal(colNums, colN)
##
## 2.  array 
##
A <- matrix(ncol=length(colNames), 
      dimnames=list(NULL, colNames))
Anums <- dateCols(A)
# check 
all.equal(Anums, colN)
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.