In this article, we are going to see how to extract the year from the date in R Programming Language.
Method 1: Extract Year from a Vector
In this method, the as.POSIXct is a Date-time Conversion Functions that is used to manipulate objects of classes. To extract the year from vector we need to create a vector with some dates and then arrange the date with as.POSIXct() and get year with format() methods.
Date <- c("01/12/2011 12:40:00", "11/12/2015 11:40:00",
"01/02/2012 05:40:00", "01/04/2021 09:44:00" ,
"01/02/2020 01:43:00", "01/12/2014 04:41:00")
print("Vector Date:")
print(Date)
# formatted date
print("Extract Year:")
Date <- as.POSIXct(Date, format = "%m/%d/%Y %H:%M:%S")
format(Date, format="%Y")
Output:
[1] "Vector Date:" [1] "01/12/2011 12:40:00" "11/12/2015 11:40:00" "01/02/2012 05:40:00" [4] "01/04/2021 09:44:00" "01/02/2020 01:43:00" "01/12/2014 04:41:00" [1] "Extract Year:" '2011' '2015' '2012' '2021' '2020' '2014'
Method 2: Extract Year from a Column in a Dataframe
To extract the year from the column, we will create a dataframe with date columns and then separate the year from DateTime using format() methods and extract the year and convert to a numeric format.
# declaring a data frame
data_frame = data.frame(Rank = c(5:8) ,
Time = c("2021-05-05 01:04:34",
"2021-03-06 03:14:44",
"2021-03-11 07:22:48",
"2021-02-02 11:54:56"))
print ("Original dataframe")
data_frame
# data_frame$year <- as.Date(data_frame$Time, "%Y")
# data_frame
data_frame$Time <- as.Date(data_frame$Time)
print("Extract year")
# extract the year and convert to numeric format
data_frame$year <- as.numeric(format(data_frame$Time, "%Y"))
data_frame
Output:
[1] "Original dataframe" Rank Time 5 2021-05-05 01:04:34 6 2021-03-06 03:14:44 7 2021-03-11 07:22:48 8 2021-02-02 11:54:56 Extract year Rank Time year 5 2021-05-05 2021 6 2021-03-06 2021 7 2021-03-11 2021 8 2021-02-02 2021