R语言 如何从日期中提取年份
在这篇文章中,我们将看到如何在R编程语言中从日期中提取年份。
方法1:从一个矢量中提取年份
在这个方法中,as.POSIXct是一个日期-时间转换函数,用于操作类的对象。为了从矢量中提取年份,我们需要用一些日期创建一个矢量,然后用as.POSIXct()排列日期,用format()方法获取年份。
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")
输出 。
[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'
方法2:从数据框架中的一列提取年份
为了从列中提取年份,我们将创建一个带有日期列的数据框架,然后使用format()方法将年份从DateTime中分离出来,提取年份并转换为数字格式。
# 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_frameyear <- as.Date(data_frameTime, "%Y")
# data_frame
data_frameTime <- as.Date(data_frameTime)
print("Extract year")
# extract the year and convert to numeric format
data_frameyear <- as.numeric(format(data_frameTime, "%Y"))
data_frame
输出 。
[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