2017-10-15 1 views
2

Wie konvertieren Sie eine Zeichenfolge wie "Q12000" in Viertelformat mit as.yearqtr in R?konvertieren Qqyyyy in Viertel mit as.yearqtr

Ich habe einen Vektor Viertel:

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

ich den folgenden Code versucht:

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

Das Ergebnis sollte "2000 Q1" "2000 Q2" "2000 Q3" sein. Stattdessen bekomme ich alle NA.

Antwort

2

Leider versteht die Implementierung nicht, dass ein Viertel kann nur eine Ziffer sein, so dass es durch eine Nicht-Ziffer abgegrenzt werden muss. Zum Beispiel legen Sie ein Leerzeichen nach dem Quartal:

as.yearqtr(sub("(..)", "\\1 ", x), format = "Q%q %Y") 
## [1] "2000 Q1" "2000 Q2" "2000 Q3" 

oder in Standardformat an erster Stelle:

as.yearqtr(sub("Q(.)(....)", "\\2-\\1", x)) 
## [1] "2000 Q1" "2000 Q2" "2000 Q3" 

Hinweis:

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