A:如何将日期转换为季度和年份
您可以使用两种方法之一在 R 中快速将日期转换为季度和年份格式:
方法一:使用zoo包
library (zoo) #convert date to year/quarter format #df$date <- as. yearqtr (df$date, format = ' %Y-%m-%d ')
方法 2:使用 Lubridate 包
library (lubridate) library (dplyr) df %>% mutate(date = quarter(date, with_year = TRUE ))
以下示例展示了如何将每种方法与以下数据框结合使用:
#create data frame df <- data. frame (date=c('2022-01-03', '2022-02-15', '2022-05-09', '2022-08-10', '2022-10-14', '2022-12-30'), sales=c(130, 98, 120, 88, 94, 100)) #view data frame df dirty dates 1 2022-01-03 130 2 2022-02-15 98 3 2022-05-09 120 4 2022-08-10 88 5 2022-10-14 94 6 2022-12-30 100
示例1:使用zoo包
以下代码显示如何使用Zoo包中的as.yearqtr()函数将日期格式化为年/季度格式:
library (zoo)
#convert date to year/quarter format
df$date <- as. yearqtr (df$date, format = ' %Y-%m-%d ')
#view updated data frame
df
dirty date
1 2022 Q1 130
2 2022 Q1 98
3 2022 Q2 120
4 2022 Q3 88
5 2022 Q4 94
6 2022 Q4 100
每个日期都已转换为季度和年份格式。
示例 2:使用 Lubridate 包
以下代码显示如何使用lubridate包的quarter()函数将日期格式化为年/季度格式:
library (lubridate)
library (dplyr)
#convert date to year/quarter format
df %>% mutate(date = quarter(date, with_year = TRUE ))
dirty date
1 2022.1 130
2 2022.1 98
3 2022.2 120
4 2022.3 88
5 2022.4 94
6 2022.4 100
每个日期都已转换为季度和年份格式。
您还可以省略with_year参数以仅显示季度而不显示年份:
library (lubridate)
library (dplyr)
#convert date to quarter format
df %>% mutate(date = quarter(date))
dirty date
1 1 130
2 1 98
3 2 120
4 3 88
5 4 94
6 4 100
日期现在显示季度而不显示年份。
其他资源
以下教程解释了如何在 R 中执行其他常见转换: