How can I convert a factor to a date in R using examples?

How can I convert a factor to a date in R using examples?

Converting a factor to a date in R allows for the transformation of categorical data into a chronological format, making it easier to analyze and interpret. This can be achieved by using the as.Date() function, which takes the factor as an argument and returns a date object. For example, if a factor “January 1st, 2021” is converted to a date, it will become “2021-01-01”. This method can be useful for handling data in time series analysis, forecasting, and other statistical applications. Additionally, the as.Date() function allows for customization of the date format, making it adaptable to different data sets and purposes.

Convert Factor to Date in R (With Examples)


You can use one of the following two methods to quickly convert a factor to a date in R:

Method 1: Use Base R

as.Date(factor_variable, format = '%m/%d/%Y')

Method 2: Use Lubridate

library(lubridate)

mdy(factor_variable)

The following examples show how to use each method with the following data frame:

#create data frame
df <- data.frame(day=factor(c('1/1/2020', '1/13/2020', '1/15/2020')),
                 sales=c(145, 190, 223))

#view data frame
df

        day sales
1  1/1/2020   145
2 1/13/2020   190
3 1/15/2020   223

#view class of 'day' variable
class(df$day)

[1] "factor"

Example 1: Convert Factor to Date Using Base R

The following code shows how to convert the ‘day’ variable in the data frame from a factor to a date using the as.Date() function from base R:

#convert 'day' column to date format
df$day <- as.Date(df$day, format = '%m/%d/%Y')

#view updated data frame
df

         day sales
1 2020-01-01   145
2 2020-01-13   190
3 2020-01-15   223

#view class of 'day' variable
class(df$day)

[1] "Date"

Notice that the ‘day’ variable has been converted to a date format.

Example 2: Convert Factor to Date Using Lubridate

The following code shows how to convert the ‘day’ variable from a factor to a date using the mdy() function from the lubridate package:

library(lubridate)

#convert 'day' column to date format
df$day <- mdy(df$day)

#view updated data frame
df

         day sales
1 2020-01-01   145
2 2020-01-13   190
3 2020-01-15   223

#view class of 'day' variable
class(df$day)

[1] "Date"

The ‘day’ variable has been converted to a date format.

Note that mdy() indicates a month-day-year format. 

Note: You can find the complete documentation for the lubridate package .

Additional Resources

The following tutorials explain how to perform other common conversions in R:

Cite this article

stats writer (2024). How can I convert a factor to a date in R using examples?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-convert-a-factor-to-a-date-in-r-using-examples/

stats writer. "How can I convert a factor to a date in R using examples?." PSYCHOLOGICAL SCALES, 2 Jul. 2024, https://scales.arabpsychology.com/stats/how-can-i-convert-a-factor-to-a-date-in-r-using-examples/.

stats writer. "How can I convert a factor to a date in R using examples?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-convert-a-factor-to-a-date-in-r-using-examples/.

stats writer (2024) 'How can I convert a factor to a date in R using examples?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-convert-a-factor-to-a-date-in-r-using-examples/.

[1] stats writer, "How can I convert a factor to a date in R using examples?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, July, 2024.

stats writer. How can I convert a factor to a date in R using examples?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.

Download Post (.PDF)
Slide Up
x
PDF
Scroll to Top