Vangani, Ruchi
2010-Oct-07 20:03 UTC
[R] Forecasting with R/Need Help. Steps shown below with the imaginary data
1. This is an imaginary data on monthly outcomes of 2 years and I want to
forecast the outcome for next 12 months of next year.
data Data1;
input Yr Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec;
datalines;
2008 12 13 12 14 13 12 11 15 10 12 12 12
2009 12 13 12 14 13 12 11 15 10 12 12 12
;
run;
I converted the above data into the below format to use it in R as it was giving
error: asking to use only univariate time series.
data Data1;
input RR;
datalines;
12
14
17
15
13
15
15
14
15
14
16
15
15
18
16
16
15
14
15
16
16
14
13
12
;
run;
1. I successfully took this data thru xport into R using the below codes:
libname xportout xport 'H:\Care Transition Evaluation\CT-Codes\SAS\gross
up\Data\Forc1.xpt';
data xportout.Forc1;
set Data1;
run;
setwd("H:/Care Transition Evaluation/CT-Codes/SAS/gross up/Data")
getwd()
Forc<-read.xport("Forc1.xpt")
attach(Forc)
names(Forc)
Forc
1. Used the auto.arima codes:
fit <- auto.arima(Forc)
fcast <-forecast(fit)
plot(fcast)
summary(fcast)
But the following error comes on using the first line of code:
fit <- auto.arima(Forc)
-----------------------------------------------------------------------
Error in model.frame.default(formula = x ~ 1, drop.unused.levels = TRUE) :
invalid type (list) for variable 'x'
-----------------------------------------------------------------------
1. Further:
I tried to use the Holt Winters Algorithm using the below codes:
Final <- HoltWinters(Forc,gamma=FALSE)
plot(forecast(Final))
Final
pred <- predict(Final, n.ahead = 8)
plot(Final, predicted.values = pred)
pred
These codes work completely fine but it adjusts for the trend and does not takes
into account the seasonal component which is more important in the analysis.
Please help.
Thanks,
Ruchi
The information contained in this communication is highl...{{dropped:18}}
Phil Spector
2010-Oct-07 20:55 UTC
[R] Forecasting with R/Need Help. Steps shown below with the imaginary data
Ruchi -
If the only way you can figure out to read your data
into R is through SAS, I think you need to spend more time
with the R introductory documentation, for example
http://cran.r-project.org/doc/manuals/R-intro.html
While data is usually read from a file, you can imitate
SAS' datalines command using the textConnection function:
> dat = read.table(textConnection('2008 12 13 12 14 13 12 11 15 10 12 12
12
+ 2009 12 13 12 14 13 12 11 15 10 12 12 12
+ '))
Now convert the data into a time series. We can ignore the first
column of dat, and use the transpose because R stores its data by
columns:
> myts = ts(as.vector(t(dat[,-1])),start=c(2008,1),frequency=12)
Now, we can load the forecast package, which contains auto.arima:
> library(forecast)
>From here, things should work as you expect:
> fit = auto.arima(myts)
> fcast = forecast(fit)
> plot(fcast)
> summary(fcast)
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu
On Thu, 7 Oct 2010, Vangani, Ruchi wrote:
> 1. This is an imaginary data on monthly outcomes of 2 years and I want to
forecast the outcome for next 12 months of next year.
>
>
> data Data1;
> input Yr Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec;
> datalines;
> 2008 12 13 12 14 13 12 11 15 10 12 12 12
> 2009 12 13 12 14 13 12 11 15 10 12 12 12
> ;
> run;
>
> I converted the above data into the below format to use it in R as it was
giving error: asking to use only univariate time series.
>
> data Data1;
> input RR;
> datalines;
> 12
> 14
> 17
> 15
> 13
> 15
> 15
> 14
> 15
> 14
> 16
> 15
> 15
> 18
> 16
> 16
> 15
> 14
> 15
> 16
> 16
> 14
> 13
> 12
> ;
> run;
>
>
> 1. I successfully took this data thru xport into R using the below codes:
>
> libname xportout xport 'H:\Care Transition
Evaluation\CT-Codes\SAS\gross up\Data\Forc1.xpt';
>
> data xportout.Forc1;
> set Data1;
> run;
>
>
>
> setwd("H:/Care Transition Evaluation/CT-Codes/SAS/gross up/Data")
> getwd()
> Forc<-read.xport("Forc1.xpt")
> attach(Forc)
> names(Forc)
> Forc
>
>
> 1. Used the auto.arima codes:
> fit <- auto.arima(Forc)
> fcast <-forecast(fit)
> plot(fcast)
> summary(fcast)
>
> But the following error comes on using the first line of code:
> fit <- auto.arima(Forc)
> -----------------------------------------------------------------------
> Error in model.frame.default(formula = x ~ 1, drop.unused.levels = TRUE) :
> invalid type (list) for variable 'x'
> -----------------------------------------------------------------------
>
>
> 1. Further:
> I tried to use the Holt Winters Algorithm using the below codes:
>
> Final <- HoltWinters(Forc,gamma=FALSE)
> plot(forecast(Final))
> Final
>
> pred <- predict(Final, n.ahead = 8)
> plot(Final, predicted.values = pred)
>
> pred
>
> These codes work completely fine but it adjusts for the trend and does not
takes into account the seasonal component which is more important in the
analysis.
>
>
>
> Please help.
>
> Thanks,
> Ruchi
>
>
>
>
>
>
>
> The information contained in this communication is highl...{{dropped:18}}
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>