Calcula a probabilidade empirica de que um parametro de qualidade da agua exceda um determinado valor de referencia (threshold), por grupo. Util para analise de risco ambiental e pre-avaliacao de conformidade.
Usage
exceedance_prob(
df,
param,
threshold,
direction = c("above", "below"),
by = "ponto",
conf_level = 0.95
)Arguments
- df
Data frame com ao menos a coluna do
parame as colunas indicadas emby.- param
Character; nome do parametro a avaliar.
- threshold
Numeric; valor de referencia.
- direction
"above"(default) — excedencia acima do limite (ex.: turbidez, DBO, coliformes); ou"below"— excedencia abaixo do limite (ex.: OD, saturacao de oxigenio).- by
Character vector; colunas de agrupamento. Default
"ponto".- conf_level
Numeric; nivel de confianca para o intervalo de confianca de Wilson. Default
0.95.
Value
Um tibble com uma linha por grupo contendo:
- n
Total de amostras validas no grupo.
- n_excedeu
Amostras que excedem o threshold.
- prob_excedencia
Probabilidade empirica (0-1).
- ic_inf, ic_sup
Intervalo de confianca de Wilson para a proporcao.
Details
A probabilidade e calculada como:
\(P_{ex} = n_{ex} / n_{valid}\)
onde \(n_{ex}\) e o numero de amostras que excedem threshold
e \(n_{valid}\) e o total de amostras com valor valido (nao-NA).
Para parametros com limite minimo (ex.: OD), usar direction = "below".
Para intervalos (ex.: pH 6-9), chamar duas vezes ou usar
conama_freq_check().
See also
Other load-tools:
compute_load()
Examples
data("wq_demo", package = "tikatuwq")
# Probabilidade de turbidez acima de 40 NTU (limite CONAMA classe 1)
exceedance_prob(wq_demo, param = "turbidez", threshold = 40, by = "ponto")
#> # A tibble: 4 × 8
#> ponto threshold direction n n_excedeu prob_excedencia ic_inf ic_sup
#> <chr> <dbl> <chr> <int> <int> <dbl> <dbl> <dbl>
#> 1 FBS-BRH-250 40 above 5 2 0.4 0.118 0.769
#> 2 FBS-BRH-300 40 above 5 2 0.4 0.118 0.769
#> 3 FBS-BRH-450 40 above 5 0 0 0 0.434
#> 4 FBS-BRH-950 40 above 5 0 0 0 0.434
# Probabilidade de OD abaixo de 5 mg/L (limite CONAMA classe 2)
exceedance_prob(wq_demo, param = "od", threshold = 5,
direction = "below", by = "ponto")
#> # A tibble: 4 × 8
#> ponto threshold direction n n_excedeu prob_excedencia ic_inf ic_sup
#> <chr> <dbl> <chr> <int> <int> <dbl> <dbl> <dbl>
#> 1 FBS-BRH-250 5 below 5 0 0 0 0.434
#> 2 FBS-BRH-300 5 below 5 0 0 0 0.434
#> 3 FBS-BRH-450 5 below 5 0 0 0 0.434
#> 4 FBS-BRH-950 5 below 5 1 0.2 0.0362 0.624