[R] Aggregating on Water Year Rather Than Calendar Year
Clint Bowman
clint at ecy.wa.gov
Wed Jun 16 23:09:03 CEST 2004
Aha! I was unclear of the way to extract the year from the function call
(which your example shows.) The following works wonders:
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
>
>
--
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
More information about the R-help
mailing list