在 R 中将日期格式化为年/季度
日期可以根据需要以多种格式表示。有些要求只需要有关年份和季度的信息,在这种情况下,日期的其他部分似乎是不必要的。在这种情况下,可以将日期格式化为仅显示年份和季度。在本文中,我们将研究用 R 语言将日期格式化为年/季度的不同方法。
方法一:使用paste、format、sprintf和as.POSIXlt函数
- 粘贴() 函数用于在转换为字符后连接向量。
Syntax: paste (…, sep = ” “, collapse = NULL)
- 格式() 函数有助于格式化 R 对象以进行漂亮的打印。
Syntax: format(x, …)
- sprintf()函数基本上返回一个字符向量,其中包含文本和变量值的格式化组合。
Syntax: sprintf(fmt, …)
- as.POSIXLt()函数用于操作表示日历日期和时间的类的对象。
Syntax: as.POSIXlt(x, tz = “”, …)
例子:
R
gfg_date=as.Date(c("2021-05-13","2000-07-12",
"2020-10-08","2001-09-04"))
gfg_date
gfg_quarters <- paste(
format(gfg_date, "%Y"),
sprintf("%02i", (as.POSIXlt(gfg_date)$mon) %/% 3L + 1L),
sep = "/")
gfg_quarters
R
library("lubridate")
gfg_date=as.Date(c("2021-05-13","2000-07-12",
"2020-10-08","2001-09-04"))
gfg_date
gfg_quarters <- paste0(year(gfg_date),"/0",quarter(gfg_date))
gfg_quarters
R
library("zoo")
gfg_date=as.Date(c("2021-05-13","2000-07-12",
"2020-10-08","2001-09-04"))
gfg_date
gfg_quarters <-as.yearqtr(gfg_date,format = "%Y-%m-%d")
gfg_quarters
输出:
方法 2:使用lubridate 包中的 quad ()函数
在这种方法中,以给定的格式作为日期季度用户需要呼叫的lubridate包的paste0()函数和四分之一()函数,并传递所需要的参数到它。然后这种方法将在 R 编程语言中将给定的日期转换为年/季度。
- paste0()函数用于在转换为字符后连接向量。
Syntax: paste0(…, collapse = NULL)
- quad()函数用于将一年分成四份。
Syntax:
quarter(x, with_year = FALSE, fiscal_start = 1)
Parameters:
- x:-a date-time object of class POSIXct, POSIXlt, Date, chron, yearmon, yearqtr, zoo, zooreg, timeDate, xts, its, ti, jul, timeSeries, fts or anything else that can be converted with as.POSIXlt
- with_year:-logical indicating whether or not to include the quarter’s year.
- fiscal_start:-numeric indicating the starting month of a fiscal year
例子:
电阻
library("lubridate")
gfg_date=as.Date(c("2021-05-13","2000-07-12",
"2020-10-08","2001-09-04"))
gfg_date
gfg_quarters <- paste0(year(gfg_date),"/0",quarter(gfg_date))
gfg_quarters
输出:
方法 3:使用 zoo 包中的 as.yearqtr函数
在这种将给定日期格式化为年/季度的方法下,用户需要首先安装和加载 zoo 包。然后调用带有所需参数的as.yearqtr()函数,此用户将获得格式化的日期作为年/季度的回报。
as.yearqtr()函数用于表示季度数据。
Syntax: as.yearqtr(x, format, …)
Parameter:
- x:-for yearqtr a numeric (interpreted as being “in years”). For as.yearqtr another date class object.
- format:-character string specifying format. For coercing to “yearqtr” from character: “%Y” and “%q” have to be specified.
- …:-arguments passed ot other methods.
例子:
电阻
library("zoo")
gfg_date=as.Date(c("2021-05-13","2000-07-12",
"2020-10-08","2001-09-04"))
gfg_date
gfg_quarters <-as.yearqtr(gfg_date,format = "%Y-%m-%d")
gfg_quarters
输出: