使用 as.yearqtr 转换 YYYYQ

ita*_*oot 0 r date date-format zoo

我有一个格式为 YYYYQ 的 char 字段(例如 20124、20131 等),我想使用 Zoo 包中的 as.yearqtr 将其转换为字段格式。

感谢您的帮助!

G. *_*eck 7

1)一定要先转换为字符:

library(zoo)

x <- c(20124, 20131)

as.yearqtr(format(x), "%Y%q")
## [1] "2012 Q4" "2013 Q1"
Run Code Online (Sandbox Code Playgroud)

2)这也可以。它将数字转换为年份 + 年份的小数部分:

as.yearqtr(x %/% 10 + ((x %% 10) - 1)/4)
## [1] "2012 Q4" "2013 Q1"
Run Code Online (Sandbox Code Playgroud)

3)首先将数字转换为 yyyy-0q:

as.yearqtr(sub("(.)$", "-0\\1", x))
## [1] "2012 Q4" "2013 Q1"
Run Code Online (Sandbox Code Playgroud)