monthlyfunction {hydroTSM} | R Documentation |

Generic function for obtaining 12 monthly values of a zoo object, by applying any R function to ALL the values in the object belonging to each one of the 12 calendar months (Jan...Dec).

monthlyfunction(x, ...) ## Default S3 method: monthlyfunction(x, FUN, na.rm = TRUE, ...) ## S3 method for class 'zoo' monthlyfunction(x, FUN, na.rm=TRUE,...) ## S3 method for class 'data.frame' monthlyfunction(x, FUN, na.rm = TRUE, dates=1, date.fmt = "%Y-%m-%d", out.type = "data.frame", verbose = TRUE, ...) ## S3 method for class 'matrix' monthlyfunction(x, FUN, na.rm = TRUE, dates=1, date.fmt = "%Y-%m-%d", out.type = "data.frame", verbose = TRUE, ...)

`x` |
zoo, xts, data.frame or matrix object, with daily or monthly time series. |

`FUN` |
Function that will be applied to ALL the values in |

`na.rm` |
Logical. Should missing values be removed? |

`dates` |
It is only used when |

`date.fmt` |
It is only used when |

`out.type` |
It is only used when |

`verbose` |
Logical; if TRUE, progress messages are printed |

`...` |
further arguments passed to or from other methods |

When `x`

is a zoo object, a numeric vector with 12 elements representing the computed monthly value for each month.

When `x`

is a data.frame which columns represent measurements at different gauging stations, the resulting object is a data.frame with 12 columns and as many rows as gauging stations are in `x`

, each row storing the computed 12 monthly value for each gauging station.

Due to the fact that `FUN`

is applied over all the elements in `x`

belonging to a given calendar month, its result will depend on the sampling frequency of `x`

and the type of function provided by `FUN`

(**special attention have to be put when FUN=sum**)

Mauricio Zambrano-Bigiarini, mzb.devel@gmail

`annualfunction`

, `seasonalfunction`

, `dm2seasonal`

, `daily2monthly`

, `daily2annual`

## Loading daily streamflows (3 years) at the station ## Oca en Ona (Ebro River basin, Spain) data(OcaEnOnaQts) x <- OcaEnOnaQts ## Mean monthly streamflows at station 'x' monthlyfunction(x, FUN=mean, na.rm=TRUE) ############################ ## Boxplot of monthly values ## Daily to Monthly m <- daily2monthly(x, FUN=mean, na.rm=TRUE) ## Median of the monthly values at the station monthlyfunction(m, FUN=median, na.rm=TRUE) ## Vector with the three-letter abbreviations of the month names cmonth <- format(time(m), "%b") ## Creating ordered monthly factors months <- factor(cmonth, levels=unique(cmonth), ordered=TRUE) ## Boxplot of the monthly values boxplot( coredata(m) ~ months, col="lightblue", main="Monthly streamflows, [m3/s]") ############################## ############################## ## Loading the monthly time series of precipitation within the Ebro River basin. data(EbroPPtsMonthly) x <- EbroPPtsMonthly ## Dates of 'x' dates <- as.Date(x[,1]) ## Monthly precipitation of all the stations in 'x' ## Not run: ## Sum of the monthly values in each station of 'x' z <- zoo( x[, 2:ncol(x)], dates) # Amount of years in 'x' (needed for computing the average) nyears <- yip(from=start(z), to=end(z), out.type="nmbr" ) m <- monthlyfunction(z, FUN=sum) ## Another way of computing the sum of the monthly values in each station of 'x' ## This way is usefult for posteriori boxplots m2 <- monthlyfunction(x, FUN=sum, dates=1, out.type="db") ## Average monthly precipitation in each station of 'x' m2$Value <- m2$Value / nyears ## Creating monthly factors m2$Month <- factor(m2$Month, levels=month.abb) ## boxplot of the monthly values in all stations boxplot(Value ~ Month, m2, col="lightyellow", main="Monthly Precipitation, [mm/month]") ## End(Not run)

[Package *hydroTSM* version 0.5-1 Index]