Calculates means, medians, maximums, minimums, and percentiles for each year from all years of a daily streamflow data set. Calculates statistics from all values, unless specified. Returns a tibble with statistics.
calc_annual_stats( data, dates = Date, values = Value, groups = STATION_NUMBER, station_number, roll_days = 1, roll_align = "right", percentiles = c(10, 90), water_year_start = 1, start_year, end_year, exclude_years, months = 1:12, transpose = FALSE, ignore_missing = FALSE )
data  Data frame of daily data that contains columns of dates, flow values, and (optional) groups (e.g. station numbers).
Leave blank if using 

dates  Name of column in 
values  Name of column in 
groups  Name of column in 
station_number  Character string vector of seven digit Water Survey of Canada station numbers (e.g. 
roll_days  Numeric value of the number of days to apply a rolling mean. Default 
roll_align  Character string identifying the direction of the rolling mean from the specified date, either by the first
( 
percentiles  Numeric vector of percentiles to calculate. Set to 
water_year_start  Numeric value indicating the month ( 
start_year  Numeric value of the first year to consider for analysis. Leave blank to use the first year of the source data. 
end_year  Numeric value of the last year to consider for analysis. Leave blank to use the last year of the source data. 
exclude_years  Numeric vector of years to exclude from analysis. Leave blank to include all years. 
months  Numeric vector of months to include in analysis (e.g. 
transpose  Logical value indicating whether to transpose rows and columns of results. Default 
ignore_missing  Logical value indicating whether dates with missing values should be included in the calculation. If

A tibble data frame with the following columns:
calendar or water year selected
annual mean of all daily flows for a given year
annual median of all daily flows for a given year
annual maximum of all daily flows for a given year
annual minimum of all daily flows for a given year
each annual nth percentile selected of all daily flows
annual 10th percentile of all daily flows for a given year
annual 90th percentile of all daily flows for a given year
# Run if HYDAT database has been downloaded (using tidyhydat::download_hydat()) if (file.exists(tidyhydat::hy_downloaded_db())) { # Calculate annual statistics from a data frame using the data argument flow_data < tidyhydat::hy_daily_flows(station_number = "08NM116") calc_annual_stats(data = flow_data) # Calculate annual statistics using station_number argument calc_annual_stats(station_number = "08NM116") # Calculate annual statistics regardless if there # is missing data for a given year calc_annual_stats(station_number = "08NM116", ignore_missing = TRUE) # Calculate annual statistics for water years starting in October calc_annual_stats(station_number = "08NM116", water_year_start = 10) # Calculate annual statistics filtered for custom years calc_annual_stats(station_number = "08NM116", start_year = 1981, end_year = 2010, exclude_years = c(1991,1993:1995)) # Calculate annual statistics for 7day flows for JulySeptember # months only, with 25 and 75th percentiles calc_annual_stats(station_number = "08NM116", roll_days = 7, months = 7:9, percentiles = c(25,75)) }#> Warning: One or more calculations included missing values and NA's were produced. Filter data for complete years or months, or use to ignore_missing = TRUE to ignore missing values.#> Warning: One or more calculations included missing values and NA's were produced. Filter data for complete years or months, or use to ignore_missing = TRUE to ignore missing values.#> Warning: One or more calculations included missing values and NA's were produced. Filter data for complete years or months, or use to ignore_missing = TRUE to ignore missing values.#> Warning: One or more calculations included missing values and NA's were produced. Filter data for complete years or months, or use to ignore_missing = TRUE to ignore missing values.#> # A tibble: 69 x 8 #> STATION_NUMBER Year Mean Median Maximum Minimum P25 P75 #> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 08NM116 1949 1.52 1.32 4.29 0.838 1.09 1.64 #> 2 08NM116 1950 2.71 1.36 16.6 0.714 0.860 2.10 #> 3 08NM116 1951 2.21 1.23 8.80 0.629 0.758 2.01 #> 4 08NM116 1952 2.85 1.93 12.9 1.11 1.32 2.56 #> 5 08NM116 1953 4.77 2.24 24.1 0.821 1.32 7.29 #> 6 08NM116 1954 7.65 4.34 30.5 1.98 3.14 8.88 #> 7 08NM116 1955 4.82 2.35 19.9 0.396 1.21 4.97 #> 8 08NM116 1956 2.25 1.29 8.21 0.784 0.998 2.33 #> 9 08NM116 1957 2.36 1.92 6.23 0.916 1.29 2.84 #> 10 08NM116 1958 1.71 1.23 5.51 0.578 0.880 2.04 #> # ... with 59 more rows