2013-10-07 4 views
3

가정 : 동물원 또는 xts 개체의 시계열 데이터가 있습니다.시계열 데이터 빈도 확인

질문 : 시계열이 월별, 분기 별 또는 연간인지 여부를 확인할 수있는 편리한 기능이나 방법이 있습니까?

+0

이것이 도움이 될지 모르지만 'ts'에서 파생 된 기본 R 시계열을 사용하면 '주파수'로 쉽게 얻을 수 있습니다. – vitale232

+0

답장을 보내 주셔서 감사합니다. @ vitale232. 실제로 frequency()를 시도했습니다. 불행히도 모든 시간 데이터에 적용 할 때 FRED 양식을 얻었습니다. 데이터 자체가 분기 별인지 월간인지에 관계없이 1 만 제공합니다. –

+0

이 질문은 프로그래밍이 아니기 때문에 통계에 관한 것이므로 주제와는 거리가 먼 것 같습니다. 게다가, 그것은 이미 http://stats.stackexchange.com/a/1214/159에 응답되었습니다. –

답변

5

하면, 를 타임 스탬프 사이의 평균 차이를 계산하고 (일일 데이터)를, 1에 가까운 경우에는 확인할 수 7 (주) 등 XTS 패키지가 함수 periodicity을 갖는다

guess_period <- function(x) { 
    average_period <- as.double(mean(diff(index(x))), units="days") 
    difference <- abs(log(average_period/c(
    daily = 1, 
    business_days = 7/5, 
    weekly = 7, 
    monthly = 30, 
    quarterly = 365/4, 
    annual = 365 
))) 
    names(which.min(difference)) 
} 

# Examples 
library(quantmod) 
getSymbols("^GSPC") 
guess_period(GSPC) 
# [1] "business_days" 

getSymbols('CPIAUCNS',src='FRED') 
guess_period(CPIAUCNS) 
# [1] "monthly" 
+0

Brilliant! 그것은 내가 기대했던 것을 완벽하게 충족시킵니다. 많은 감사합니다! –

5

이 목적.

library(quantmod) 
getSymbols("^GSPC") 
periodicity(GSPC) 
# Daily periodicity from 2007-01-03 to 2013-10-04 
getSymbols("CPIAUCNS", src="FRED") 
periodicity(CPIAUCNS) 
# Monthly periodicity from 1913-01-01 to 2013-08-01 
0

위의 모든 기술에서 가정하는 한 가지 사항은 각 데이터 요소의 값에 대해 신경 쓰지 않아도된다는 것입니다. 모두 똑같이 처리됩니다. 누구든지 각 데이터 요소의 가치를 통합하는 방법을 알고 있습니까? 사실상 지구 데이터 포인트의 기간을 찾는 것. 하나의 시계열이 여러주기를 가질 수 있다고 상상할 수 있습니다.