2017-10-15 18 views
2

Q12000のような文字列をRでas.yearqtrを使用して四半分形式に変換するにはどうすればよいですか?as.yearqtrを使用してQqyyyyを四半期に変換する

Iは、四半期のベクトルを有する:

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を取得します。

答えて

2

実装では、四半分は1桁しか使用できないため、非桁で区切る必要があることは理解できません。例えば、四半期の後にスペースを挿入します。

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") 
関連する問題