[R] Problems with "predict" function
WRAY NICHOLAS
nicholas.wray at ntlworld.com
Wed Jan 31 18:08:51 CET 2018
Hello,
I am synthesising some sales data over a twelve month period, and then trying to
use the "predict" function, firstly to generate a thirteenth month forecast with
upper and lower 95% confidence limits. So far so good
But what I then want to do is add the upper sales value at the 95th confidence
limit to the vector of thirteen months and their respective sales to create a
fourteenth month with a predicted sale and the 95% upper confidence limit for
this, and so on The idea being to create a "trumpet" of extreme posistions
But I keep getting instead of one line of predictions for the fourteenth month,
a whole set. What I don't understand is why it works OK with my original
synthetic set of twelve months, but doesn't like the set of thirteen sales data
points, even though as far as I can see I'm just repeating the process, albeit
with a different label I have tried to use different column labels in case that
was the problem but it doesn't seem to make any difference
I am also getting these weird warning messages telling me that things are being
"masked":
The following object is masked _by_ .GlobalEnv:
sales
The following object is masked from highdf (pos = 4):
sales
Etc
Is it something to do with attaching the various data frames? I am a bit at sea
on this and would be thankful for any pointers
Nick
My code:
m<-runif(1,0,1)
m
mres<-m*(seq(1,12))
mres
ssd<-rexp(1,1)
ssd
devs<-rep(0,length(mres))
for(i in 1:length(mres)){devs[i]<-rnorm(1,0,ssd)}
devs
plot(-10,-10,xlim=c(1,24),ylim=c(0,20000))
sales<-round((mres+devs)*1000)
points(sales,pch=19)
ptr<-cbind(1:length(sales),sales,sales,sales)
ptr
sdf<-data.frame(cbind(1:nrow(ptr),sales))
sdf
colnames(sdf)<-c(“monat”,“mitte”)
sdf
attach(sdf)
s.lm<-lm(mitte~monat)
s.lm
abline(s.lm,lty=2)
news<-data.frame(monat=nrow(sdf)+1)
news
fcs<-predict(s.lm,news,interval="predict")
fcs
points(1+nrow(ptr),fcs[,1],col="grey",pch=19)
points(1+nrow(ptr),fcs[,2])
points(1+nrow(ptr),fcs[,3])
ptr<-rbind(ptr,c(1+nrow(ptr),fcs[2],fcs[1],fcs[3]))
ptr
highdf<-data.frame(ptr[,c(1,4)])
highdf
colnames(highdf)<-c(“month”,“sales”)
highdf
attach(highdf)
h.lm<-lm(highdf[,2]~highdf[,1])
h.lm
abline(h.lm,col="gray",lty=2)
news<-data.frame(month=nrow(ptr)+1)
news
hcs<-predict(h.lm,news,interval="predict")
hcs
[[alternative HTML version deleted]]
More information about the R-help
mailing list