[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?
>
> Thanks for your help
raindate <- seq.Date(as.Date("1982-01-01"), as.Date("1983-01-01"),by=1)
paste( format( head(raindate,30), "%Y"),
cut(as.numeric(format( head(raindate,30),"%d")), c(0,16,32) ),
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
>>> follow John Kane's advice. Your reply below is not helping us understand as
>>> 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
>>>> https://github.com/hadley/devtools/wiki/Reproducibility
>>>>> 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
>>>>>> Kingston ON Canada
>>>>>>
>>>>>>
>>>>>>> -----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
>>>>>>> to go about it!
>>>>>>>
>>>>>>> Thanks for your help
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>> PLEASE do read the posting guide
>>>>>>> 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
>>>>>> PLEASE do read the posting guide
>>>>> 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
>>>> PLEASE do read the posting guide
>>>> 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
>>> PLEASE do read the posting guide
>>> 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
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list