[R] bi-monthly time series
David Winsemius
dwinsemius at comcast.net
Fri Feb 21 08:00:00 CET 2014
On Feb 20, 2014, at 12:03 PM, Michael Friendly wrote:
>
> The vector, vec, below represents a time series of the number of some events recorded
> for 208 two-week intervals from 2005/01/01 up to the end of 2012. I want to
> represent this together with the date information. I tried ts(), but don't quite understand
> how to use the start=, end= and frequency= arguments in this case.
>
> vec <- c(
> 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 2L, 0L, 1L, 0L, 3L, 1L, 1L,
> 2L, 0L, 0L, 1L, 0L, 0L, 0L, 3L, 0L, 2L, 0L, 1L, 0L, 1L, 0L, 0L,
> 1L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 3L, 0L, 0L, 3L, 1L, 1L, 1L,
> 0L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 3L, 0L, 1L, 1L, 1L, 0L, 0L,
> 0L, 1L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 1L, 0L, 0L, 0L, 2L, 1L, 0L,
> 1L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L,
> 0L, 1L, 1L, 0L, 1L, 0L, 2L, 0L, 2L, 0L, 1L, 1L, 0L, 0L, 0L, 0L,
> 2L, 0L, 1L, 1L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L,
> 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 2L, 0L, 1L, 1L, 0L, 1L, 0L, 0L,
> 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L,
> 0L, 0L, 1L, 1L, 1L, 2L, 0L, 1L, 1L, 1L, 0L, 0L, 2L, 0L, 0L, 0L,
> 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 2L, 0L, 0L,
> 1L, 0L, 0L, 0L, 2L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L,
> 0L)
>
> This is what I tried, but it doesn't seem right because str() reports ... to 2014.
>
> > vec.ts <- ts(vec,
> + start=c(2005,1),
> + frequency=24
> + )
The nominal number of weeks in a year is 52 so bi-weekly events would be 26 per year:
> 365/7/2
[1] 26.07143
There is als a seq.Date method taht accepts a vy argument so:
> wvec <- data.frame(dt = seq(as.Date("2005-01-01"), by="2 week", length=208), vec)
> str(wvec)
'data.frame': 208 obs. of 2 variables:
$ dt : Date, format: "2005-01-01" "2005-01-15" ...
$ vec: int 1 0 0 0 1 1 1 0 2 0 ...
Or as mentioned zoo methods which are generally much easier to work with than ts-objects.
David.
> >
> > str(vec.ts)
> Time-Series [1:208] from 2005 to 2014: 1 0 0 0 1 1 1 0 2 0 ...
> >
>
> If instead of a time series, I attached date names to the observations, they would be something
> like
>
> names(vect) <- seq(as.Date('2005/01/01'),as.Date('2013/01/01'),by=14)
>
> but that's awkward to work with.
>
> --
> Michael Friendly Email: friendly AT yorku DOT ca
> Professor, Psychology Dept. & Chair, Quantitative Methods
> York University Voice: 416 736-2100 x66249 Fax: 416 736-5814
> 4700 Keele Street Web: http://www.datavis.ca
> Toronto, ONT M3J 1P3 CANADA
>
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list