View source: R/calc_flow_percentile.R
calc_flow_percentile  R Documentation 
Calculates the percentile rank of a discharge value compared to all flow values of a streamflow data set.
Looks up the value in the distribution (stats::ecdf()
function) of all daily discharge values from all years, unless
specified. Returns a tibble with statistics.
calc_flow_percentile(
data,
dates = Date,
values = Value,
groups = STATION_NUMBER,
station_number,
roll_days = 1,
roll_align = "right",
flow_value,
water_year_start = 1,
start_year,
end_year,
exclude_years,
complete_years = FALSE,
months = 1:12
)
data 
Data frame of daily data that contains columns of dates, flow values, and (optional) groups (e.g. station numbers).
Leave blank or set to 
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
( 
flow_value 
A numeric flow value of which to determine the percentile rank. Required. 
water_year_start 
Numeric value indicating the month ( 
start_year 
Numeric value of the first year to consider for analysis. Leave blank or set well before start date (i.e.

end_year 
Numeric value of the last year to consider for analysis. Leave blank or set well after end date (i.e.

exclude_years 
Numeric vector of years to exclude from analysis. Leave blank or set to 
complete_years 
Logical values indicating whether to include only years with complete data in analysis. Default 
months 
Numeric vector of months to include in analysis. For example, 
A tibble data frame, or a single numeric value if no station number provided, of the percentile rank of a given flow value.
# Run if HYDAT database has been downloaded (using tidyhydat::download_hydat())
if (file.exists(tidyhydat::hy_downloaded_db())) {
# Calculate the percentile rank of a 10cms flow value from a full record
calc_flow_percentile(station_number = "08NM116",
flow_value = 10)
# Calculate the percentile rank of a 10cms flow value from years with no missing data
calc_flow_percentile(station_number = "08NM116",
complete_years = TRUE,
flow_value = 10)
# Calculate the percentile rank of a 10cms flow value for June from years with no missing data
calc_flow_percentile(station_number = "08NM116",
complete_years = TRUE,
months = 6,
flow_value = 10)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.