Hello! I have such a problem... Estimated a model based on common data (you can find it in R library), and I wanted to plot the orginal values with the estimated one. Unfortunately I can only see the original values. Below is the code with data library: / library(forecast) data(AirPassengers) AP <- AirPassengers class(AP) start(AP) end(AP) frequency(AP) lgAP <- log(AP) t<-2:length(AP) APsL<-log(ts(lgAP, start=1949, frequency=12)) final<-(ts.intersect(lgAP,lgAPlag=lag(lgAP,-1), t=t, sin12 = sin(2*pi*t/12), cos12 = cos(2*pi*t/12),dframe=TRUE)) summary(AIRlm <- lm(lgAP ~ lgAPlag + t + sin12 + cos12, data=final)) plot(lgAP, main="Log of Air Passengers",type="l", col=4, lty=2, lwd=2) lines(t, AIRlm$fitted, col=2, lwd=2) legend("topleft", legend=c("data", "fitted"), lty=c(2,1), col=c(4,2)) / As you can see the "lines" command doesn't work. I'm open to your suggestions and would be very grateful for your help. -- View this message in context: http://r.789695.n4.nabble.com/Problem-with-ploting-fitted-values-tp4192218p4192218.html Sent from the R help mailing list archive at Nabble.com.
matys <mts89 <at> o2.pl> writes:> > Hello! > I have such a problem... > Estimated a model based on common data (you can find it in R library), and I > wanted to plot the orginal values with the estimated one. Unfortunately I > can only see the original values. > > Below is the code with data library: > > / > library(forecast) > data(AirPassengers) > AP <- AirPassengers > class(AP) > start(AP) > end(AP) > frequency(AP) > lgAP <- log(AP) > t<-2:length(AP) > > APsL<-log(ts(lgAP, start=1949, frequency=12)) > final<-(ts.intersect(lgAP,lgAPlag=lag(lgAP,-1), t=t, > sin12 = sin(2*pi*t/12), cos12 = cos(2*pi*t/12),dframe=TRUE)) > > summary(AIRlm <- lm(lgAP ~ lgAPlag + t + sin12 + cos12, data=final)) > > plot(lgAP, main="Log of Air Passengers",type="l", col=4, lty=2, lwd=2) > lines(t, AIRlm$fitted, col=2, lwd=2) > legend("topleft", legend=c("data", "fitted"), lty=c(2,1), col=c(4,2)) > /If you try: plot(t, AIRlm$fitted, col=2, lwd=2) you can see that it does plot the points. But note the x-axis. The problem with adding them to your original plot is that the x values (2:144) are out of the range of the x-axis of the original plot, which is of a time series. Try: # transforming into parallel time series AIRlm$fitted.ts <- ts(AIRlm$fitted, start = c(1949,1), frequency = 12) plot(lgAP, main="Log of Air Passengers",type="l", col=4, lty=2, lwd=2) lines(AIRlm$fitted.ts, col=2, lwd=2) Hope this helps, Michael Bibo Queensland Health
Hello, matys wrote> > Hello! > I have such a problem... > Estimated a model based on common data (you can find it in R library), and > I wanted to plot the orginal values with the estimated one. Unfortunately > I can only see the original values. > > Below is the code with data library: > > / > library(forecast) > data(AirPassengers) > AP <- AirPassengers > class(AP) > start(AP) > end(AP) > frequency(AP) > lgAP <- log(AP) > t<-2:length(AP) >[...] As I can see the "lines" command is trying to plot the value of the transpose function! You are using 't' as a variable name, choose something else, say, 'u' and see if it solves the problem. R does allow this use but it conflicts with normal functioning. Rui Barradas. -- View this message in context: http://r.789695.n4.nabble.com/Problem-with-ploting-fitted-values-tp4192218p4193464.html Sent from the R help mailing list archive at Nabble.com.