# [R] Sum of some months totals

Frederic Ntirenganya ntfredo at gmail.com
Tue Apr 14 09:46:51 CEST 2015

```I want to compute monthly summaries from daily data. I want to choose which
month to start and how many months to total over.  Default could be to
start in January and total over 3 months.  For the number of rain days the
default threshold is 0.85mm.

I tried to make a function which sum all months not some of months. I will
appreciate any help from you guys. Thanks.
Here is the data and the code I used.

> dput(head(kitale))structure(list(Year = c(1979L, 1979L, 1979L, 1979L, 1979L, 1979L
), Month = c(1L, 1L, 1L, 1L, 1L, 1L), Day = 1:6, Rain = c(0,
0, 0, 0, 0, 0)), .Names = c("Year", "Month", "Day", "Rain"), row.names = c(NA,
6L), class = "data.frame")

here is the function:

total = function(data, threshold = 0.85){
month_tot=matrix(NA,31,12)
rownames(month_tot)=as.character(1979:2009)
colnames(month_tot)=c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
raindays=month_tot
# loop over months and years to get summary statistics
for (mon in 1:12) {
rain=data[data==mon,c(1,4)]   # rain just for a specific month
for (yr in 1979:2009) {
month_tot[yr-1978,mon]=sum(rain[rain[,1]==yr,2])
raindays[yr-1978,mon]=sum(rain[rain[,1]==yr,2]>threshold)
}
}
month_tot
}

Regards,

Frederic.

Frederic Ntirenganya
Maseno University,
African Maths Initiative,
Kenya.
Mobile:(+254)718492836
Email: fredo at aims.ac.za