Learn R Programming

tikatuwq (version 0.9.0)

nsfwqi: NSF Water Quality Index (NSF WQI)

Description

Calcula o NSF WQI (Brown et al., 1970) como media geometrica ponderada dos sub-escores dos parametros: \(WQI = \prod Q_i^{w_i}\). Aceita nomes de colunas no padrao brasileiro (e.g. od, dbo, coliformes) e traduz automaticamente para os indices NSF.

Usage

nsfwqi(
  df,
  pesos = c(do = 0.17, fc = 0.16, ph = 0.11, bod = 0.11, temp_change = 0.1, po4 = 0.1,
    no3 = 0.1, turbidez = 0.08, sst = 0.07),
  na_rm = FALSE,
  add_status = TRUE,
  locale = c("pt", "en")
)

Value

O data frame de entrada com a coluna NSFWQI (e opcionalmente NSFWQI_status) adicionada.

Arguments

df

Data frame com as colunas de parametros (ver Detalhes).

pesos

Named numeric vector com os pesos dos parametros. Os defaults seguem a proposta original NSF: do=.17, fc=.16, ph=.11, bod=.11, temp_change=.10, po4=.10, no3=.10, turbidez=.08, sst=.07.

na_rm

Logical; se TRUE, renormaliza pesos por linha para os parametros com valor valido. Default FALSE.

add_status

Logical; adiciona a coluna NSFWQI_status com a classificacao qualitativa. Default TRUE.

locale

Character; idioma para os rotulos de status: "pt" (default, portugues) ou "en" (ingles).

Details

O mapeamento tentado (alias BR -> nome NSF) e:

do

coluna od ou do.

fc

coluna coliformes ou fc.

ph

coluna pH, ph ou pH.

bod

coluna dbo ou bod.

turbidez

coluna turbidez.

sst

coluna solidos_suspensos ou sst.

po4

coluna p_ortofosfato ou po4.

no3

coluna n_nitrato ou no3.

temp_change

coluna temp_change (delta T relativo ao padrao; deve ser calculado externamente).

Os Qi (sub-escores, escala 0-100) seguem curvas piecewise baseadas nas curvas originais de Brown et al. (1970). A agregacao usa media geometrica ponderada, fiel ao metodo original.

Se na_rm = TRUE, os pesos sao renormalizados por linha aos parametros disponiveis. Se na_rm = FALSE (default), linhas com qualquer NA resultam em NSFWQI = NA (sem erro).

References

Brown, R. M., McClelland, N. I., Deininger, R. A., & Tozer, R. G. (1970). A water quality index - do we dare? Water and Sewage Works, 117(10), 339-343.

See Also

iqa(), plot_iqa()

Examples

Run this code
# \donttest{
data("wq_demo", package = "tikatuwq")
d <- wq_demo
# Mapeia alias brasileiros
d$do  <- d$od
d$fc  <- d$coliformes
d$bod <- d$dbo
# Parametros ausentes sao ignorados com na_rm = TRUE
out <- nsfwqi(d, na_rm = TRUE)
head(out[, c("ponto", "NSFWQI", "NSFWQI_status")])
# }

Run the code above in your browser using DataLab