如何在 R 中使用 as.yearqtr
将“Q12000”等字符串转换为季度格式?
我有一个四分之一的向量:
x <- c("Q12000", "Q22000", "Q32000")
我尝试了以下代码:
library(zoo)
as.yearqtr(x, format = "Q%q%Y")
# [1] NA NA NA
结果应为“2000 Q1”“2000 Q2”“2000 Q3”。相反,我得到了所有 NA
。
最佳答案
不幸的是,该实现无法理解四分之一只能是一位数字,因此需要用非数字分隔。例如,在季度后插入一个空格:
as.yearqtr(sub("(..)", "\\1 ", x), format = "Q%q %Y")
## [1] "2000 Q1" "2000 Q2" "2000 Q3"
或者先将其设置为默认格式:
as.yearqtr(sub("Q(.)(....)", "\\2-\\1", x))
## [1] "2000 Q1" "2000 Q2" "2000 Q3"
注意:
x <- c("Q12000", "Q22000", "Q32000")
关于r - 使用 as.yearqtr 将 Qqyyyy 转换为季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760246/