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 10-cms flow value from a full record
calc_flow_percentile(station_number = "08NM116",
flow_value = 10)
# Calculate the percentile rank of a 10-cms 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 10-cms 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.