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 中执行其他常见转换:

如何在R中将日期转换为数字
R中如何将数字转换为字符
如何在 R 中将分类变量转换为数值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注