Skip to content

partial analisys of a time series

10 messages · R. Michael Weylandt, PIKAL Petr, arun +1 more

#
Hi
Split your data by months to a list, use lapply.

using zoo package

blist <-split(birthstimeseries, months(as.Date(birthstimeseries)))
l.blist <- lapply(blist, HoltWinters)

Regards
Petr
#
Try period.apply() from the xts package.

MW
On Tue, Dec 4, 2012 at 9:26 AM, Antonio Silva <aolinto.lst at gmail.com> wrote:
#
HI,
You can subset by:
birthstimeseriesJan<-subset(birthstimeseries,cycle(birthstimeseries)==1)
A.K.




----- Original Message -----
From: Antonio Silva <aolinto.lst at gmail.com>
To: R-help at r-project.org
Cc: 
Sent: Tuesday, December 4, 2012 4:26 AM
Subject: [R] partial analisys of a time series

Dear list members

I want to analyze separately the months of a time series. In other words, I
want to plot and fit models for each month separately.

Taking the example of
http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency=12, start=c(1946,1))
birthstimeseries
plot.ts(birthstimeseries)
birthstimeseriesHW <- HoltWinters(birthstimeseries)
plot(birthstimeseriesHW)

How to proceed the plotting and HoltWinters smoothing considereing only
Januarys, Februarys, etc. separately.

Thanks in advance.

Antonio Olinto

??? [[alternative HTML version deleted]]

______________________________________________
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.
#
HI,
I am getting an error message:
l.blist<-lapply(blist,HoltWinters)
#Error in decompose(ts(x[1L:wind], start = start(x), frequency = f), seasonal) : 
?# time series has no or less than 2 periods
A.K.



----- Original Message -----
From: PIKAL Petr <petr.pikal at precheza.cz>
To: Antonio Silva <aolinto.lst at gmail.com>; "R-help at r-project.org" <R-help at r-project.org>
Cc: 
Sent: Tuesday, December 4, 2012 5:07 AM
Subject: Re: [R] partial analisys of a time series

Hi
Split your data by months to a list, use lapply.

using zoo package

blist <-split(birthstimeseries, months(as.Date(birthstimeseries)))
l.blist <- lapply(blist, HoltWinters)

Regards
Petr
______________________________________________
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.
#
Hi,
If the frequency is >1, the error message will? be gone.
For e.g.
birthstimeseriesJanFeb<-subset(birthstimeseries,cycle(birthstimeseries)==c(1,2))
?birthstimeseriesJanFeb1<-ts(birthstimeseriesJanFeb,frequency=2,start=c(1946,1))
?plot.ts(birthstimeseriesJanFeb1)
?birthstimeseriesJanFebHW<-HoltWinters(birthstimeseriesJanFeb1)
?plot(birthstimeseriesJanFebHW)
A.K.




----- Original Message -----
From: Antonio Silva <aolinto.lst at gmail.com>
To: PIKAL Petr <petr.pikal at precheza.cz>
Cc: "R-help at r-project.org" <R-help at r-project.org>
Sent: Tuesday, December 4, 2012 5:50 AM
Subject: Re: [R] partial analisys of a time series

Thanks Petr

I thought there might be an equivalent for birthstimeseries[,1] if it were
a dataframe, but split function sounds great.

I could not reproduce the second line of your suggestion "l.blist <-
lapply(blist, HoltWinters)". I receive the message: Error in
decompose(ts(x[1L:wind], start = start(x), frequency = f), seasonal) : time
series has no or less than 2 periods

What could be going wrong?

Best regards

Antonio


2012/12/4 PIKAL Petr <petr.pikal at precheza.cz>

  
    
#
Hi,
In addition, you can also subset using:
births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency=12, start=c(1946,1))
library(xts)

birthstimeseriesxts<-as.xts(birthstimeseries)

birthstsJanFeb<-birthstimeseriesxts[format(time(birthstimeseriesxts),"%b")==c("Jan","Feb")]
birthstsJanFeb1<-ts(birthstsJanFeb,frequency=2,start=c(1946,1))
?plot.ts(birthstsJanFeb1)
birthstsJanFebHW<-HoltWinters(birthstsJanFeb1)
?plot(birthstsJanFebHW)
A.K.