[R] Function for computing the difference between 2 dates in months
Smith, Phil
pzs6 at CDC.GOV
Mon Apr 17 22:05:51 CEST 2006
Folks:
With the help of David L. Reiner, I've developed a function that
computes the number of months between 2 dates, x and y.
num.months <- function ( x , y )
{
x <- as.Date( x )
y <- as.Date( y )
seeq <- seq(from=x , to=y , by="months")
ans <- length( seeq ) - 1
if ( max( seeq) > y ) ans <- ans -1
ans
}
To ease your reading this function, I've left out some data cleaning
issues, and it is assumed that x <= y and that x and y were output from
as.date function (note the lower case "d" in as.date). The postscript
below provides 2 examples.
Anyone who wishes to comment or recommend a more accurate (or correct!)
method is welcome.
Best regards,
Phil Smith
Centers for Disease Control and Prevention
Example #1:
> x<-c( "2004-02-28" )
> y<-c( "2004-04-27" )
> num.months ( x , y )
[1] 1
>
Example #2:
> x<-c( "2004-01-31" )
> y<-c( "2004-04-22" )
> num.months ( x , y )
[1] 2
More information about the R-help
mailing list