Add & Subtract Months & Years to/from Date Object in R (2 Examples)
In this tutorial you’ll learn how to add and subtract months or years from a Date object in the R programming language.
Table of contents:
With that, let’s get started:
Constructing Example Data
The first step is to create some data that we can use in the examples below:
my_date <- as.Date("2022-10-01") # Create example date my_date # Print date object #  "2022-10-01"
The previous output of the RStudio console shows the structure of our example data: It’s a single Date object stored in the data object my_date.
Note that we have used the as.Date function to create this Date object. We can check whether this worked well using the class function:
class(my_date) # Check class of date #  "Date"
The data class of our data object is the Date class. If your data is not having this class you should convert it to the Date class using the as.Date function first.
Example 1: Add or Subtract Months from a Date Object
Example 1 shows how to add or subtract months from our Date object.
For this, we first need to install and load the lubridate package:
install.packages("lubridate") # Install & load lubridate package library("lubridate")
Now, we can use the %m+% operator and the months function to add one month to our date as shown below:
my_date %m+% months(1) # Add one month #  "2022-11-01"
The number specified within the months function defines the number of months we want to add. For instance, we can add 30 months like this:
my_date %m+% months(30) # Add 30 months #  "2025-04-01"
If we want to subtract months from our date, we can use the %m-% operator. The following R code subtracts ten months from our date:
my_date %m-% months(10) # Subtract 10 months #  "2021-12-01"
Example 2: Add or Subtract Years from a Date Object
In this section, I’ll explain how to add and subtract years from our Date object. For this, we have to use the %m+% operator and the years function.
The following R code adds five years to our date…
my_date %m+% years(5) # Add years #  "2027-10-01"
…and the following R syntax subtracts five years from our date:
my_date %m-% years(5) # Subtract years #  "2017-10-01"
Video & Further Resources
I have recently published a video on my YouTube channel, which shows the R programming syntax of this article. You can find the video below:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Furthermore, you may want to have a look at the other RStudio posts of this website:
- Number of Months Between Two Dates
- Extract Month from Date in R
- Extract Year & Month from yearmon Object
- Change Format of Dates in R
- Introduction to R Programming
In this R programming tutorial you have learned how to add/subtract months/years to/from a date. If you have additional questions or comments, don’t hesitate to let me know in the comments.
2 Comments. Leave new
Leave a Reply Cancel reply
Statistics Globe Newsletter
hier ist ein kleiner Fehlerteufel:
The number specified within the months function defines the number of months we want to add. For instance, we can add 30 days like this:
my_date %m+% months(30) # Add 30 months
#  “2025-04-01”
Du meintest sicher “We can add 30 months”, nicht “we can aqdd 30 days” …
vielen Dank für dein wachsames Auge! Gib gerne Bescheid, falls dir in Zukunft weitere Fehler auffallen sollten 🙂
Ich habe den Fehler soeben behoben.