2017-10-15 12 views
2

Q12000과 같은 문자열을 R에서 as.yearqtr을 사용하여 1/4 포맷으로 변환하는 방법은 무엇입니까? as.yearqtr을 사용하여 Qqyyyy를 1/4로 변환하십시오.

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

불행하게도 분기가 한 자리 만 될 수 있으므로 구현에서는 숫자가 아닌 숫자로 구분해야합니다.

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