Dear all,

Thanks for the contributions so far. I've had a look at these and the closest 
I've come to solving it is the following:

> data_ave <- ave(data$rammday, by=c(data$month, data$year))
Warning messages:
1: In split.default(x, g) :
  data length is not a multiple of split variable
2: In split.default(seq_along(x), f, drop = drop, ...) :
  data length is not a multiple of split variable


I'm slightly confused by the warning message, as the data lengths do appear the 
same:

> dim(data)
[1] 1073    6
> length(data$year)
[1] 1073
> length(data$month)
[1] 1073


Maybe the approach I'm taking is wrong. Any suggestions would be gratefully 
received.

Many thanks,

Steve


----------------------------------------
> Date: Wed, 31 Mar 2010 23:31:25 +0200
> From: stephan.kola...@gmx.de
> To: smurray...@hotmail.com
> CC: r-help@r-project.org
> Subject: Re: [R] Summing data based on certain conditions
>
> ?by may also be helpful.
>
> Stephan
>
>
> Steve Murray schrieb:
>> Dear all,
>>
>> I have a dataset of 1073 rows, the first 15 which look as follows:
>>
>>> data[1:15,]
>> date year month day rammday thmmday
>> 1 3/8/1988 1988 3 8 1.43 0.94
>> 2 3/15/1988 1988 3 15 2.86 0.66
>> 3 3/22/1988 1988 3 22 5.06 3.43
>> 4 3/29/1988 1988 3 29 18.76 10.93
>> 5 4/5/1988 1988 4 5 4.49 2.70
>> 6 4/12/1988 1988 4 12 8.57 4.59
>> 7 4/16/1988 1988 4 16 31.18 22.18
>> 8 4/19/1988 1988 4 19 19.67 12.33
>> 9 4/26/1988 1988 4 26 3.14 1.79
>> 10 5/3/1988 1988 5 3 11.51 6.33
>> 11 5/10/1988 1988 5 10 5.64 2.89
>> 12 5/17/1988 1988 5 17 37.46 20.89
>> 13 5/24/1988 1988 5 24 9.86 9.81
>> 14 5/31/1988 1988 5 31 13.00 8.63
>> 15 6/7/1988 1988 6 7 0.43 0.00
>>
>>
>> I am looking for a way by which I can create monthly totals of rammday 
>> (rainfall in mm/day; column 5) by doing the following:
>>
>> For each case where the month value and the year are the same (e.g. 3 and 
>> 1988, in the first four rows), find the mean of the the corresponding 
>> rammday values and then times by the number of days in that month (i.e. 31 
>> in this case).
>>
>> Note however that the number of month values in each case isn't always the 
>> same (e.g. in this subset of data, there are 4 values for month 3, 5 for 
>> month 4 and 5 for month 5). Also the months will of course recycle for the 
>> following years, so it's not simply a case of finding a monthly total for 
>> *all* the 3s in the whole dataset, just those associated with each year in 
>> turn.
>>
>> How would I go about doing this in R?
>>
>> Any help will be gratefully received.
>>
>> Many thanks,
>>
>> Steve
>>
>>
>>
>> _________________________________________________________________
>> We want to hear all your funny, exciting and crazy Hotmail stories. Tell us 
>> now
>>
>> ______________________________________________
>> R-help@r-project.org mailing list
>> 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.
>>
>
                                          
_________________________________________________________________

Do you have a story that started on Hotmail? Tell us now
______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to