[R] lattice shingle with time and date format
Deepayan Sarkar
deepayan.sarkar at gmail.com
Wed Feb 11 23:01:33 CET 2009
On Tue, Feb 10, 2009 at 6:29 AM, Jon Loehrke <jloehrke at umassd.edu> wrote:
> Hi R-Users,
>
> I have a time series of bivariate observations (x,y,t). I've
> developed a few panel routines to explore certain aspects of the data,
> and now would like to break the time series up into smaller chunks to
> explore the temporal trends. I would like to know if anyone has any
> experience breaking up time series with lattice.
>
> Base graphics offers coplot, utilizing the co.intervals routine to
> break up the series into equal chunks. Lattice has equal.count as a
> wrapper for co.intervals. As you can see in the example below, I can
> recreate a 'coplot' with lattice but am having difficulty getting the
> x-axis of the shingle plot and the strip labeling on the xyplot to be
> in time or date format. My question really consists of two parts,
> with the second part being less important for my data visualization
> purposes:
>
> 1) How might I be able to convert the x-axis of the shingle plot from
> numeric to date format?
Perhaps something like
plot(breaks, xlim = as.Date(extendrange(breaks), origin = structure(0,
class = "Date")))
or the simpler
plot(breaks, xlim = extendrange(times))
(the warning seems harmless).
> 2) How might I be able to customize the strip labels on the xyplot to
> show a range, like min(month, year)-max(month, year) for each panel?
br.levels <- sapply(levels(breaks),
function(x) {
paste(as.character(structure(x, class = "Date")),
collapse = ", "))
xyplot(y~x|breaks, data=df,
strip = strip.custom(factor.levels = br.levels,
strip.levels = TRUE,
strip.names = FALSE))
You probably want a suitable 'format' in the as.character() call.
-Deepayan
More information about the R-help
mailing list