[R] Plot cumulative sums of rainfall per year

PIKAL Petr petr.pikal at precheza.cz
Tue Mar 26 08:52:04 CET 2013


Hi

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Martin Labadz
> Sent: Tuesday, March 26, 2013 6:44 AM
> To: r-help at r-project.org
> Subject: [R] Plot cumulative sums of rainfall per year
> 
> Hi @all,
> 
> I am biting my nails with the following problem:
> 
> I have a data set of daily rainfall measurements for the last 20 years.
> What I want to do is calculate the daily cumulative sum of rainfall but
> only for every year which means that the cumulative sum has to be reset
> each year. After the calculations I want to plot each year of
> cumulative rainfall as a separate line in one graph preferably using
> ggplot with the x-axis showing the julian day 1 to 365 (366) and the y-
> axis showing the cumulative values.
> 
> I have the following code:
> 
> library(plyr)
> library(ggplot2)
> data<-read.csv("http://dl.dropbox.com/u/4236038/test_cumu.csv")
> data$year <- as.numeric(format(as.Date(data$Date), format="%Y"))
> ddply(data,.(year),transform,cumRain = cumsum(Rainfall))->cumu
> ggplot(cumu, aes(Date,cumRain))+geom_point()

Date in your cumu is not date but factor.

Maybe it can be accomplished by ggplot but in that case I would use standard plot.

cumu$dat<-as.Date(cumu$Date)
cumu$mon<-as.Date(format(cumu$dat, paste("%d.%m", 2012, sep=".")), format="%d.%m.%Y")
lll<-split(cumu[,c(4, 6)], cumu$year)
plot(lll[[1]][[2]], lll[[1]][[1]], type="l")
lines(lll[[2]][[2]], lll[[2]][[1]], col=2)

you can use ylim to set proper range and put lines command into for cycle if necessary.

Regards
Petr







> 
> What it does it perfectly calculates the cumulative sum of the rainfall
> and resets the sum at the beginning of each year but I cannot plot the
> cumulative sum of rainfall in a way that each year is represented by a
> separate line in one graph such as in this example:
> http://dl.dropbox.com/u/4236038/example_cumulative_rainfall.png
> 
> Any help would be highly appreciated.
> 
> Thanks,
> Martin
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list