2017-10-15 6 views
2

Comment convertir une chaîne comme "Q12000" en format de quartier en utilisant as.yearqtr dans R?convertir Qqyyyy à trimestre en utilisant as.yearqtr

J'ai un vecteur de quartiers:

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

J'ai essayé le code suivant:

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

Le résultat devrait être "2000 Q1" "2000 Q2" "2000 Q3". Au lieu de cela, je reçois tous NA.

Répondre

2

Malheureusement, la mise en œuvre ne comprend pas qu'un quart ne peut être qu'un seul chiffre, il doit donc être délimité par un non-chiffre. Par exemple, insérer un espace après le trimestre:

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

ou le mettre en format par défaut premier:

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

Note:

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