# [R] Aggregating daily rainfall raster data to bimontly data

David Winsemius dwinsemius at comcast.net
Mon Apr 6 00:11:05 CEST 2015

```On Apr 5, 2015, at 2:40 PM, John Wasige wrote:

> Thanks Jim!
>
> Do you have an idea on how I can go about getting bi-monthly (twice a
> month) results for the month with 28, 29, 30 and 31 daily observations?
>

raindate <- seq.Date(as.Date("1982-01-01"), as.Date("1983-01-01"),by=1)

sep="_")

[1] "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"
[5] "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"
[9] "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"
[13] "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"  "1982_(0,16]"
[17] "1982_(16,32]" "1982_(16,32]" "1982_(16,32]" "1982_(16,32]"
[21] "1982_(16,32]" "1982_(16,32]" "1982_(16,32]" "1982_(16,32]"
[25] "1982_(16,32]" "1982_(16,32]" "1982_(16,32]" "1982_(16,32]"
[29] "1982_(16,32]" "1982_(16,32]"

Another method would be to use `cut` on  as.POSIXlt(raindate)\$mday

--
David.
>
> John.
>
> On Sun, Apr 5, 2015 at 11:25 PM, Jim Lemon <drjimlemon at gmail.com> wrote:
>
>> Hi John,
>> One way is to create an index variable that will divide your data into the
>> appropriate intervals. There are a number of ways to do this. Say you want
>> the "two month" version of bimonthly and you have a date variable
>> ("raindate") for each observation like "1982-01-01".
>>
>> date_order<-paste(rep(month.abb,30),rep(1982:2011,each=12),sep="")
>>
>> month_index<-factor(format(as.Date(raindate,"%Y-%m-%d"),"%b%Y"),levels=date_order)
>>
>> You can then subset the raster matrices by "month_index" and average them
>> for each group
>>
>> Jim
>>
>> On Mon, Apr 6, 2015 at 3:08 AM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
>> wrote:
>>
>>> Please stop posting using HTML (as the Posting Guide warns you), and
>>> well as you seem to think it should.
>>>
>>> ---------------------------------------------------------------------------
>>> Jeff Newmiller                        The     .....       .....  Go
>>> Live...
>>> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live
>>> Go...
>>>                                      Live:   OO#.. Dead: OO#..  Playing
>>> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>>> /Software/Embedded Controllers)               .OO#.       .OO#.
>>> rocks...1k
>>>
>>> ---------------------------------------------------------------------------
>>> Sent from my phone. Please excuse my brevity.
>>>
>>> On April 5, 2015 9:52:18 AM PDT, John Wasige <johnwasige at gmail.com>
>>> wrote:
>>>> Thanks Bert,
>>>>
>>>> The structure of the data is a raster stack with nraw=867, Ncol=995
>>>>
>>>> Rgds John
>>>>
>>>>
>>>> On Sun, Apr 5, 2015 at 6:39 PM, Bert Gunter <gunter.berton at gene.com>
>>>> wrote:
>>>>
>>>>> See ?tapply
>>>>>
>>>>> However, as John said, without knowing the structure of your data, it
>>>>> is impossible to provide a guaranteed recipe. For example, does the
>>>>> data structure contain date information? -- it would be difficult
>>>> (but
>>>>> not impossible depending on data structure) to aggregate by calendar
>>>>> (bi-monthly, depending on your meaning of "bi") without knowing the
>>>>> months. Aggregating by every n days would be easy, but that's
>>>> probably
>>>>> not what you want.
>>>>>
>>>>> Cheers,
>>>>> Bert
>>>>>
>>>>> Bert Gunter
>>>>> Genentech Nonclinical Biostatistics
>>>>> (650) 467-7374
>>>>>
>>>>> "Data is not information. Information is not knowledge. And knowledge
>>>>> is certainly not wisdom."
>>>>> Clifford Stoll
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Apr 5, 2015 at 9:13 AM, John Kane <jrkrideau at inbox.com>
>>>> wrote:
>>>>>> Someone might if they had any idea of what the data actually looked
>>>> like
>>>>> and what you are trying to do. The 'bimonthly' for example, is
>>>> ambiguous in
>>>>> English; do you mean every two months or twice a month?
>>>>>>
>>>>>> Have a look at
>>>>> and
>>>>>
>>>>
>>> http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example
>>>>> with special attention to dput() as a method of supplying sample data
>>>> to
>>>>> the help list.
>>>>>>
>>>>>> John Kane
>>>>>>
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: johnwasige at gmail.com
>>>>>>> Sent: Sun, 5 Apr 2015 11:34:30 +0200
>>>>>>> To: r-help at r-project.org
>>>>>>> Subject: [R] Aggregating daily rainfall raster data to bimontly
>>>> data
>>>>>>>
>>>>>>> Dear community,
>>>>>>>
>>>>>>> I have daily rainfall raster data for 30 years (1982_2011). I
>>>> would like
>>>>>>> to
>>>>>>> aggregate daily to bimonthly raster data. Could somebody kindly
>>>> help on
>>>>>>> how
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> John
>>>>>>>
>>>>>>>      [[alternative HTML version deleted]]
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>>> http://www.R-project.org/posting-guide.html
>>>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>>>
>>>>>> ____________________________________________________________
>>>>>> FREE ONLINE PHOTOSHARING - Share your photos online with your
>>>> friends
>>>>> and family!
>>>>>> Visit http://www.inbox.com/photosharing to find out more!
>>>>>>
>>>>>> ______________________________________________
>>>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>> http://www.R-project.org/posting-guide.html
>>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>>
>>>>
>>>>      [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius
Alameda, CA, USA

```