2017-10-15 90 views
2

如何在R中使用as.yearqtr將字符串「Q12000」轉換爲四分之一格式?將Qqyyyy轉換爲使用as.yearqtr的季度

我有四分之三的向量:

x <- c("Q12000", "Q22000", "Q32000") 

我嘗試以下的代碼:

library(zoo) 
as.yearqtr(x, format = "Q%q%Y") 
# [1] NA NA NA 

結果應該是 「2000 Q1」, 「Q2 2000」, 「2000 Q3」。相反,我得到所有NA

回答

2

不幸的是,實現不瞭解四分之一可能只有一個數字,因此它需要由非數字分隔。例如,季度後插入空格:

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")