2017-05-09 8 views
0

나는 ts 객체를 너무 많이 사용하지는 않았지만 xts를 너무 많이 사용하지 않았다. 그래서 나는 경제적 시계열에서 매년 평균, 합계, 마지막, 처음 (FUN)을 계산하려고 시도했다. 내가 그것을 시도하면 이상한 결과가 있습니다.xts 패키지 내에서 apply.yearly를 사용하는 중 오류가 발생했습니다. 어떻게 작동합니까?

이 빠른 예입니다 는 2 년 연속 월별 시리즈와 같은 x와 y를 고려 :

x <- 1:12 
y <- 1:12 
serie <- c(x,y) 

그런 다음 나는 TS가

serie <- ts(serie,1990,,12) 

객체 생성 이제 XTS로 변환 객체

library(xts) 

serie.xts <- as.xts(serie) 

plot(serie.xts) 

내가보기에, 시리즈가 올바르게 생성되었습니다

serie.xts 

시리즈는 좋아 보인다

ene 1990 1 
feb 1990 2 
mar 1990 3 
abr 1990 4 
may 1990 5 
jun 1990 6 
jul 1990 7 
ago 1990 8 
sep 1990 9 
oct 1990 10 
nov 1990 11 
dic 1990 12 
ene 1991 1 
feb 1991 2 
mar 1991 3 
abr 1991 4 
may 1991 5 
jun 1991 6 
jul 1991 7 
ago 1991 8 
sep 1991 9 
oct 1991 10 
nov 1991 11 
dic 1991 12 

그런 다음 내 문제, 예를 들어

온다, 나는 지금까지 내가이이 기능이 무엇을 알고, 매년 마지막 값을 얻을려고 :

:

apply.yearly(serie.xts,FUN = "last") 

하지만 난이 얻을

ene 1990 1 
ene 1991 1 
dic 1991 12 
나는이

기다리고 있었다 : DIC 1990 (12) DIC 내가 잘못하고있는 무슨 1991 12

? 이 기능이 작동합니까? 이 기능이 실제로하는 일은 무엇입니까?

나는이 결과가 무엇인지 이해하지 못합니다. 도와주세요. 그리고 내 질문을 읽어 주셔서 감사합니다.

R 3.3.3 XTS 동물원 0.9-7 1.8-0

+0

내가 이것을 시도뿐만 아니라, 나에게 같은 결과 제공 : ('period.apply을

remotes::install_github("joshuaulrich/xts") # or devtools::install_github("joshuaulrich/xts") 

그런 다음 apply.yearly 호출이 예상대로 작동합니다 INDEX = 끝점 (x = serie.xts, on = "years"), x = serie.xts, FUN = "last") –

+1

나는 코드를 시험해 보았지만 제대로 작동합니다. 나는 당신의 색인 클래스를'yearmon'에서'date'에'index (serie.xts) <- as.Date (index (serie.xts))' – sechstein

+0

과 같이 변환하는 것이 좋습니다. 나는 다른 PC에서 시도하고 나는 같은 잘못된 결과가 있습니다. 같은 버전을 사용하고 있습니까? –

답변

0

이것은 개발 버전에서 수정 된 XTS 0-9.7 버그이다. GitHub의에서 설치하려면 다음 명령 중 하나를 실행합니다

serie <- ts(c(1:12,1:12),1990,,12) 
library(xts) 
serie.xts <- as.xts(serie) 
apply.yearly(serie.xts, last) 
#   [,1] 
# Dec 1990 12 
# Dec 1991 12