Reputation: 821
Sample data:-
df:-
d a b c
1 -4.41 Area1 NA 5.7
2 -5.22 Area1 25 5.9
3 -5.80 Area1 35 5.9
4 -5.20 Area2 58 9
5 -3.59 Area2 59 9
6 -3.53 Area2 129 9
require(forecast)
m <- lm(d ~ a + b + c, data=df)
f <- forecast.lm(m,df)
plot.forecast(f)
I am doing an in sample test for my model. I get the forecasted values when I display the object 'f'but when I try to plot it, it gives me an error as noted in the subject line along with the following line.
Error in plotlmforecast(x, plot.conf = plot.conf, shaded = shaded, shadecols = shadecols, :
Forecast plot for regression models only available for a single predictor
I thought it might be because of NA values in the data, but it gives the same error even after removing those values. Can anyone help on this?
Upvotes: 0
Views: 589
Reputation: 28441
You can plot the two values against each other with ggplot2
after melting the data frame with both vectors:
library(ggplot2)
library(reshape2)
set.seed(318)
df <- as.data.frame(replicate(4, rnorm(100)))
names(df) <- letters[1:4]
m <- lm(d ~ a + b + c, data=df)
f <- forecast.lm(m,df)
newdf <- melt(data.frame(d=df$d, f=f$mean))
newdf$ind <- rep(seq(length(df$d)), 2)
ggplot(newdf, aes(x=ind, y=value, color=variable)) + geom_line()
Upvotes: 1