Skip to contents

Avalia a conformidade com a Resolucao CONAMA 357/2005 pela regra de frequencia: um parametro e considerado conforme quando o limite e atendido em pelo menos threshold das amostras (padrao 80%). A regra e aplicada apenas quando ha min_n ou mais amostras no grupo (padrao 6), conforme Art. 15 da Resolucao.

Usage

conama_freq_check(
  df,
  classe = "2",
  by = "ponto",
  date_col = "data",
  min_n = 6L,
  threshold = 0.8
)

Arguments

df

Data frame com colunas de parametros e ao menos as colunas indicadas em by e date_col.

classe

Character; classe CONAMA 357/2005 (ex.: "2").

by

Character vector; colunas de agrupamento (ex.: c("ponto","rio")). Pode incluir qualquer coluna categorica do data frame.

date_col

Character; nome da coluna de datas usada para extrair o ano. Default "data".

min_n

Integer; numero minimo de amostras por grupo para aplicar a regra de frequencia. Default 6.

threshold

Numeric em (0, 1]; fracao minima de conformidade exigida. Default 0.80 (80%).

Value

Um tibble com uma linha por combinacao by + ano + parametro, contendo as colunas:

ano

Ano extraido de date_col.

parametro

Nome do parametro avaliado.

n

Total de amostras no grupo.

n_ok

Amostras dentro do limite.

pct_ok

Percentual de conformidade (0-100).

freq_conforme

Logical; TRUE se pct_ok >= threshold*100. NA se n < min_n.

aplicou_regra

Logical; TRUE se n >= min_n.

Details

A verificacao linha-a-linha (conama_check()) nao reflete o criterio estatistico da norma. Esta funcao agrupa as amostras por by e por ano (extraido de date_col) e aplica a regra de frequencia.

Quando n < min_n, a coluna freq_conforme retorna NA e aplicou_regra retorna FALSE — indicando que nao ha amostras suficientes para o criterio estatistico.

See also

Examples

# \donttest{
data("wq_demo", package = "tikatuwq")
# Conformidade por ponto e ano (regra dos 80%, min 3 amostras para este dataset)
conama_freq_check(wq_demo, classe = "2", min_n = 3)
#> # A tibble: 105 × 8
#>    ponto         ano parametro     n  n_ok pct_ok freq_conforme aplicou_regra
#>    <chr>       <int> <chr>     <int> <int>  <dbl> <lgl>         <lgl>        
#>  1 FBS-BRH-250  2020 ph            1     1    100 NA            FALSE        
#>  2 FBS-BRH-300  2020 ph            1     1    100 NA            FALSE        
#>  3 FBS-BRH-450  2020 ph            1     1    100 NA            FALSE        
#>  4 FBS-BRH-250  2022 ph            1     1    100 NA            FALSE        
#>  5 FBS-BRH-300  2022 ph            1     0      0 NA            FALSE        
#>  6 FBS-BRH-450  2022 ph            1     1    100 NA            FALSE        
#>  7 FBS-BRH-950  2022 ph            1     1    100 NA            FALSE        
#>  8 FBS-BRH-250  2023 ph            1     1    100 NA            FALSE        
#>  9 FBS-BRH-300  2023 ph            1     1    100 NA            FALSE        
#> 10 FBS-BRH-450  2023 ph            1     1    100 NA            FALSE        
#> # ℹ 95 more rows
# }