Computa o IQA/WQI combinando subindices (Qi) por media ponderada. Os subindices sao obtidos por interpolacao linear por trechos sobre curvas aproximadas (estilo CETESB/NSF).
Arguments
- df
Data frame (ou tibble) com as colunas requeridas. Nomes esperados (portugues):
od,coliformes,dbo,nt_total,p_total,turbidez,tds,ph(oupH),temperatura.- pesos
Pesos nomeados para cada parametro. Padroes seguem pratica CETESB/NSF:
od=.17,coliformes=.15,dbo=.10,nt_total=.10,p_total=.10,turbidez=.08,tds=.08,pH=.12,temperatura=.10.- method
Conjunto de curvas de interpolacao; atualmente apenas
"CETESB_approx".- na_rm
Logico; se
FALSE(padrao), linhas com Qi ausentes geram erro. SeTRUE, o IQA e computado usando apenas os parametros disponiveis e o denominador e ajustado para a soma dos pesos presentes.- add_status
Logico; se
TRUE(padrao), adiciona a colunaIQA_statuscom a classificacao qualitativa (0-100).- locale
Idioma de
IQA_status:"pt"(padrao) ou"en".- ...
Reservado para uso futuro (ignorado).
Value
O df de entrada com a coluna numerica IQA (0-100) e,
quando add_status = TRUE, a coluna fator IQA_status.
O atributo "iqa_method" e definido no objeto retornado.
Details
Compatibilidade de nomes:
A tabela de curvas usa a chave
"pH". Se seus dados possuemph(minusculo), a curva"pH"e mapeada para a colunaph.Para
temperatura, a colunatemp(alias comum) e automaticamente aceita casotemperaturanao exista.
Se as curvas internas retornarem Qi em 0-10 (variante historica),
o valor agregado e normalizado internamente para 0-100 antes do retorno.
Valores finais sao limitados ao intervalo [0, 100].
Examples
d <- wq_demo
d2 <- iqa(d, na_rm = TRUE)
table(d2$IQA_status, useNA = "ifany")
#>
#> Muito ruim Ruim Regular Boa Otima
#> 0 0 0 8 12