[R] working with zoo time index ??
ggrothendieck at gmail.com
Tue Jun 15 15:30:39 CEST 2010
On Tue, Jun 15, 2010 at 8:27 AM, skan <juanpide at gmail.com> wrote:
> Where could I find examples on how to work with the time index in a
> timeseries or zoo series?
> Let say I've got this series
> 1990-01-01 10:00:00 0.900
> 1990-01-01 10:01:00 0.910
> 1990-01-01 10:03:00 0.905
> 1990-01-01 10:04:00 0.905
> 1990-01-01 10:05:00 0.890
> 2000-12-31 20:00:00 0.992
> How do I make simple calculations such as ... ?
> Calculate the mean of the first data every day. (mapply, for loop, tapply ?)
> Transform data to a table, with dates in one axis and times in the other.
There are three vignettes that come with zoo. vignette() lists their
names and vignette("zoo") displays the one called zoo (similarly for
the other two). Also see the help files: ?zoo, ?read.zoo,
and note the examples at the bottom of the help files.
Also library(help = zoo) lists the help files available.
Lines <- "1990-01-01 10:00:00 0.900
1990-01-01 10:01:00 0.910
1990-01-01 10:03:00 0.905
1990-01-01 10:04:00 0.905
1990-01-01 10:05:00 0.890
1990-01-02 10:00:00 0.940
1990-01-02 10:01:00 0.990"
z <- read.zoo(textConnection(Lines), index = 1:2, FUN = function(x)
# take first data value for each day and then take their mean
mean(aggregate(z, as.Date, head, 1))
# create data frame from z made up of dates, times and value
# dates and times are chron package functions.
# (If you use a different date and time class then it would be different.)
data.frame(dates = dates(time(z)), times = times(time(z)), value = coredata(z))
More information about the R-help