valores_numericos: Convertir valores del SIA en numéricos

View source: R/basicas.R

valores_numericosR Documentation

Convertir valores del SIA en numéricos

Description

Agrega una columna,llamada valor, de clase numeric, a una tabla con datos del SIA, con los valores originales (valor_minimo_str) convertidos a numéricos. Los requisitos se exponen en detalles.

Usage

valores_numericos(.data, filtrar_otros = FALSE, metodo = "simple")

Arguments

.data

data.frame con datos provenientes de la base de datos del SIA (infambientalbd), con al menos tres columnas: valor_minimo_str, limite_deteccion y limite_cuantificacion (ver detalles).

filtrar_otros

logical (bandera). ¿Eliminar los valores que no se pudieron convertir en numéricos?

metodo

character. Opciones: "sin_cambios", "basico", "simple", "informe". Ver clasif_tipo_dato

Details

Esta función se creó en el contexto de analizar datos numéricos para validación, pero puede usarse potencialmente para otras tareas, tales como análisis y visualización de datos provenientes del SIA.

Requiere que .data incluya columnas con valores y límites (detección y cuantificación), con los mismos nombres que usa la tabla sia_datos_muestra_parametros de la base de datos infambientalbd (SIA).:

  • valor_minimo_str (character)

  • limite_deteccion (character)

  • limite_cuantificacion (character)

Nota: esto implica que .data tiene formato "largo" (ver pivot_longer), es decir, que en lugar de una columna para cada parámetro, se incluye una (o más) columna con el nombre del parámetro correspondiente a cada fila.

En la columna valor de la salida, se encuentran los valores de los parámetros, convertidos en numéricos. Sin importar el método elegido, la modificación mínima, además de aplicar as.numeric, es cambiar comas, comas repetidas y puntos repetidos por un único punto (marcador de decimales).

Los métodos contemplados implican las siguientes conversiones (X representa un valor numérico):

sin_cambios

No se aplican cambios, de forma que la columna valor resultante es character e idéntica a valor_minimo_str

basico

Se aplica as.numeric a la columna valor_minimo_str, luego de hacer unos cambios mínimos (corrigiendo comas por puntos, etc...). El resultado concreto es que todo lo que es reconocible como valor numérico, se mantiene en valor, mientras que el resto serán NAs

simple
  • <LD = LD

  • <LC = LC

  • <X = X

  • >X = X

informe
  • <LD = LD

  • <LC = LC/2

  • LD<X<LC = (LD + LC) / 2

  • <X = X

  • >X = X

Value

tibble con datos originales y una columna numérica extra, valor, cuyos valores son el resultado de sustitución realizadas con expresiones regulares. Ver detalles.

Examples

# Ejemplo con datos del programa Laguna Merin:
d <- datos_sia %>%
  dplyr::filter(id_programa == 10L) %>%
  dplyr::select(id_parametro, valor_minimo_str,
                limite_deteccion, limite_cuantificacion)

valores_numericos(d)
valores_numericos(d, metodo = "informe")
valores_numericos(d, metodo = "simple")
# Porcentajes de algunos tipos de dato:
valores_numericos(d, metodo = "informe") %>%
  dplyr::group_by(id_parametro) %>%
  dplyr::summarise(
    porcentaje_numerico = sum(id_tipo_dato == 1L) / dplyr::n(),
    porcentaje_menor_lim = sum(id_tipo_dato %in% 2:4) / dplyr::n()
    )

# Ejemplo con datos del programa Santa Lucía:
filtrar_datos(datos_sia, id_programa = 3) %>%
  valores_numericos(metodo = "basico")

jumanbar/manoSIAR documentation built on April 25, 2022, 1:35 p.m.