The representation of year and month information in YYYYYMM format as an integer is sometimes a useful and efficient data structure. Adding a number of months to such a date is not quite catchy, however, since the date structure is to be retained. For example, 201201 - 2 [months] is expected to result in 201111 instead of 201199. AddMonthsYM does this job.

AddMonthsYM(x, n)

Arguments

x

a vector of integers, representing the dates in the format YYYYMM, to which a number of months has to be added.

n

the number of months to be added. If n is negative the months will be subtracted.

Details

All parameters will be recyled if necessary. The therefore used function mapply will display a warning, if the longer argument is not a multiple of the length of the shorter one.

Value

a vector of class integer with the same dimension as x, containing the transformed dates.

Author

Andri Signorell <andri@signorell.net>, based on code by Roland Rapold

See also

AddMonths; Date functions, like Year, Month, etc.

Examples

AddMonthsYM(201511, 5)
#> [1] 201604

AddMonthsYM(c(201511, 201302), c(5, 15))
#> [1] 201604 201405
AddMonthsYM(c(201511, 201302), c(5, -4))
#> [1] 201604 201210