[R] Aggregating on Water Year Rather Than Calendar Year

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Jun 16 23:34:29 CEST 2004


On Wed, 16 Jun 2004, Clint Bowman wrote:

> Aha!  I was unclear of the way to extract the year from the function call 
> (which your example shows.)  The following works wonders:

For future reference, ?months (and ?weekdays? and ?quarters and ?julian)
tells you.  It's hard to thing of a really obvious place to put this.

> 
> w$w.year<-as.POSIXlt(w$d+7948800)$year+1900
> 
> Again, thanks,
> 
> Clint
> 
> On Wed, 16 Jun 2004, Don MacQueen wrote:
> 
> > It's not clear where your problem is.
> > 
> > Did w$w.year come out wrong?
> > Or did the aggregate() function fail?
> > 
> > For getting the water year, I would do it differently:
> >   (this is for a U.S. English locale, and minimally tested)
> > 
> >     tmp <- as.POSIXlt(w$d)$year+1900
> >     w$w.year <- ifelse( format(w$d,'%b') %in% c('Oct','Nov','Dec'), tmp+1, tmp)
> > 
> > Then you can do things like
> >    table(w$w.year)
> >    table(w$w.year,w$param.name)
> > to help find out if w.year came out like it should.
> > 
> > You'll have to provide error messages or something if the problem is 
> > with using aggregate().
> > 
> > At 11:21 AM -0700 6/16/04, Clint Bowman wrote:
> > >The US water year extends from 01 October yyyy-1 through 30 September yyyy
> > >and is referenced by the year starting on the included 01 January yyyy. 
> > >I'd like to be able to find the annual means for the water year.  To do so
> > >I've taken the input date-time, which is in the usual format
> > >
> > >"1991-10-07 10:35:00"
> > >
> > >changed it by:
> > >
> > >w$d<-as.POSIXct(w$date.time)
> > >
> > >Now I can add an offset of 92 days
> > >
> > >w$w.year<-as.POSIXct(w$d+7948800)
> > 
> > Try   w$w.year <- w$d+7948800
> > 
> > >
> > >and have the years correspond to the "water year."
> > >
> > >Now I wish to obtain some means by something like:
> > >
> > >waterT<-aggregate(w$value[w$param.name=="Temperature"],
> > >list(w$w.year[w$param.name=="Temperature"]),mean)
> > >
> > >Except that I need to work on the year and being a neophyte in date
> > >arithmetic I'm not finding a working method.
> > >
> > >TIA
> > >
> > >Clint
> > >
> > >--
> > >Clint Bowman			INTERNET:	clint at ecy.wa.gov
> > >Air Quality Modeler		INTERNET:	clint at math.utah.edu
> > >Department of Ecology		VOICE:		(360) 407-6815
> > >PO Box 47600			FAX:		(360) 407-7534
> > >Olympia, WA 98504-7600
> > >
> > 
> > -Don
> > 
> > 
> 
> 

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list