2017-11-29 4 views
1

내가 단순한 시계열 데이터 세트를 가지고 : DF1을, 같은 형식 :시계열 예측 점에서 x 축에 마침표 대신 날짜로 표시하는 방법은 무엇입니까?

Item | Date  | Var 
     1 | 20000101 | 12 
     2 | 20000102 | 13 
     3 | 20000103 | 16 
     4 | 20000104 | 18 
     5 | 20000105 | 29 
     6 | 20000106 | 36 
     ... 
     ... 
     ... 
     ... 
     365| 200| 78 

내 코드 것은 :

varts <- ts(df1$var, frequency=7) 
    comp <- decompose(varts) 
    plot(comp) 
    fcmodel <- HoltWinters(varts) 
    plot(forecast(fcmodel, h=30, level=c(80,95))) 

나는 간단한 예측 줄거리 만 0 ~ 50 x 축 범위를 가지고 날짜 대신.
x 축에 실제 날짜가있는 플롯을 표시하고 싶습니다. 이는 내 데이터를 설명하는 데 의미가 있습니다.
그러나 나는 웹에서 수많은 설명으로 길을 잃었고 찾은 모든 방법으로는 실패했습니다.
누구든지이 질문에 도움을 주시면 정말 고맙습니다.

+0

dput (DF1)'의 출력을 공유하세요'또는'헤드 (dput (DF1), 60)'문제 설명에 사람이 쉽게 끝에 data.frame을 재현하고 해결할 수 있도록 해결책. – TUSHAr

+0

제안 해 주셔서 감사합니다.하지만 어떻게 작동하는지 알지 못했습니다 ... –

답변

2
library(forecast) 
library(lubridate) 

# generate dummy data 
df1 <- data.frame(seq(1, 365, 1), seq(as.Date('2000-01-01'), as.Date('2000-12-30'), 1), round(100*runif(365), 0)) 
names(df1) <- c('item','date','var') 

varts <- ts(df1$var, frequency=7) 
comp <- decompose(varts) 
plot(comp) 
fcmodel <- HoltWinters(varts) 

plot(forecast(fcmodel, h=30, level=c(80,95)), xaxt='n') 
axis(1, at=seq(0, 80,10) , las=2, labels=seq(as.Date('2000-01-01'), as.Date('2000-12-31')+weeks(30), length.out=9)) 

마지막 두 줄은 여기에서 Replace X-axis with own values이라는 접근 방식을 복사합니다.

'at ='및 'lables ='- 매개 변수를 편집하여 레이블과 위치를 편집 할 수 있습니다.

Here is what the output looks like

+0

기본 R 음모 처리에 질려 가면 https : //www.r-bloggers도보실 수 있습니다. .com/holt-winterters-forecast-using-ggplot2/ –

+0

고마워요, 오토! 나는 r-bloggers에 게시 된 기사로 일해 왔지만 지금은 해결되지 않았습니다. –

+0

그래도 r-bloggers 기능을 사용해 보았습니다. 그것은 ggplot2의 현재 버전에서 작동하지 않는 것 같습니다. 동정. –

관련 문제