graphmaker {greybox} | R Documentation |
Linear graph construction function
Description
The function makes a standard linear graph using the provided actuals and forecasts.
Usage
graphmaker(actuals, forecast, fitted = NULL, lower = NULL, upper = NULL,
level = NULL, legend = TRUE, cumulative = FALSE, vline = TRUE,
parReset = TRUE, ...)
Arguments
actuals |
The vector of actual values |
forecast |
The vector of forecasts. Should be |
fitted |
The vector of fitted values. |
lower |
The vector of lower bound values of a prediction interval.
Should be ts object that start at the end of |
upper |
The vector of upper bound values of a prediction interval.
Should be ts object that start at the end of |
level |
The width of the prediction interval. |
legend |
If |
cumulative |
If |
vline |
Whether to draw the vertical line, splitting the in-sample and the holdout sample. |
parReset |
Whether to reset par() after plotting things or not.
If |
... |
Other parameters passed to |
Details
Function uses the provided data to construct a linear graph. It is strongly
advised to use ts
objects to define the start of each of the vectors.
Otherwise the data may be plotted incorrectly.
Value
Function does not return anything.
Author(s)
Ivan Svetunkov
See Also
Examples
xreg <- cbind(y=rnorm(100,100,10),x=rnorm(100,10,10))
almModel <- alm(y~x, xreg, subset=c(1:90))
values <- predict(almModel, newdata=xreg[-c(1:90),], interval="prediction")
graphmaker(xreg[,1],values$mean,fitted(values))
graphmaker(xreg[,1],values$mean,fitted(values),legend=FALSE)
graphmaker(xreg[,1],values$mean,fitted(values),legend=FALSE,lower=values$lower,upper=values$upper)
# Produce the necessary ts objects from an arbitrary vectors
actuals <- ts(c(1:10), start=c(2000,1), frequency=4)
forecast <- ts(c(11:15),start=end(actuals)[1]+end(actuals)[2]*deltat(actuals),
frequency=frequency(actuals))
graphmaker(actuals,forecast)
# This should work as well
graphmaker(c(1:10),c(11:15))
# This way you can add additional elements to the plot
graphmaker(c(1:10),c(11:15), parReset=FALSE)
points(c(1:15))
# But don't forget to do dev.off() in order to reset the plotting area afterwards