R绘图帮助 - 直方图

时间:2017-10-31 15:13:10

标签: r plot

我从R开始并需要一些帮助。我在使用plotForecastErrors函数时遇到错误。我认为这与N / A值有关,但我不是如何调整直方图功能。

#LOAD DATA

souvenir <- scan("http://robjhyndman.com/tsdldata/data/fancy.dat")
souvenirtimeseries <- ts(souvenir, frequency=12, start=c(1987,1))

# Function for histograms

 plotForecastErrors <- function(forecasterrors)
 {
 # make a histogram of the forecast errors:
 mybinsize <- IQR(forecasterrors)/4
 mysd   <- sd(forecasterrors)
 mymin  <- min(forecasterrors) - mysd*5
 mymax  <- max(forecasterrors) + mysd*3
 # generate normally distributed data with mean 0 and standard deviation 
mysd
 mynorm <- rnorm(10000, mean=0, sd=mysd)
 mymin2 <- min(mynorm)
 mymax2 <- max(mynorm)
 if (mymin2 < mymin) { mymin <- mymin2 }
 if (mymax2 > mymax) { mymax <- mymax2 }
 # make a red histogram of the forecast errors, with the normally 
distributed data overlaid:
 mybins <- seq(mymin, mymax, mybinsize)
 hist(forecasterrors, col="red", freq=FALSE, breaks=mybins)
 # freq=FALSE ensures the area under the histogram = 1
 # generate normally distributed data with mean 0 and standard deviation 
 mysd
 myhist <- hist(mynorm, plot=FALSE, breaks=mybins)
 # plot the normal curve as a blue line on top of the histogram of forecast 
errors:
     points(myhist$mids, myhist$density, type="l", col="blue", lwd=2)
  }


#FORECAST

library("forecast")

logsouvenirtimeseries <- log(souvenirtimeseries)

souvenirtimeseriesforecasts <- HoltWinters(logsouvenirtimeseries)

souvenirtimeseriesforecasts2 <- forecast(souvenirtimeseriesforecasts, h=48)



#TEST FORECAST ACCURACY

 acf(souvenirtimeseriesforecasts2$residuals, lag.max=20,na.action = na.omit)

 Box.test(souvenirtimeseriesforecasts2$residuals, lag=20, type="Ljung-Box")

 plot.ts(souvenirtimeseriesforecasts2$residuals)

plotForecastErrors(souvenirtimeseriesforecasts2$residuals)

任何帮助制作直方图的帮助都将非常感激。

0 个答案:

没有答案