largo: Formato largo

View source: R/basicas.R

largoR Documentation

Formato largo

Description

Pensada para ser la contraparte de ancho. Es una adaptación de (pivot_longer) para el caso en el que los valores de interés tienen aparejadas dos columnas extra: LD y LC (límites de detección y cuantificación respectivamente).

Usage

largo(.data, ...)

## Default S3 method:
largo(.data)

## S3 method for class 'planilla'
largo(.data, tcols = NULL)

Arguments

.data

data.frame con diferentes formatos según el método S3 correspondiente. Por defecto espera un data.frame similar al creado con ancho a partir de datos_sia. El método .planilla es para utilizar internamente por la aplicación vSIA (planilla SILAD, template de campo de vSIA, o combinación de ambos en PD: paquete de datos)

tcols

data.frame opcional: la tabla de columnas creada durante el proceso de vSIA.

Details

Los valores vienen en character cuando se importan tablas de campo o laboratorio (clase planilla), en el contexto de la app vSIA, y son equivalentes a la columna valor_minimo_str de los datos provenientes del SIA. De hecho, los valores así como están (a menos que tengan errores y sean modificados por un usuarie antes de ser ingresados), van directo a esa misma columna de la tabla datos_muestra_parametros de infambientalbd.

Planilla refiere a planilla con formato SILAD o al template para datos de campo del vSIA.

Asume que siempre que hay LD también hay valores de LC.

Importante: si tcols es NULL, se asume que las columnas parametro, LD y LC (si es que los datos incluyen límites de detección o cuantificación), vienen siempre en ese orden, para todos los parámetros y que todos los parámetros tienen nombres únicos que los distinguen (cosa que tengo patente que no es necesariamente cierto). O sea que si están los parámetros AlcT y STF, entonces las columnas estarán en el orden: AlcT (mg CaCO3/L), AlcT LD, AlcT LC, STF (mg/L), STF LD, STF LC (aunque sí podrían estar todas las columnas STF antes que las de AlcT; lo que importa es que siempre venga LC luego de LD y este luego del parámetro en sí.).

Por esta razón, en vSIA, al hacer largo con el paquete de datos (PD), el cual puede incluir parámetros de campo sin LD o LC, al mismo tiempo que parámetros de laboratorio que sí incluye esos límites, es necesario que tcols no sea NULL.

En cambio, cuando se trata de datos de origen "sia", se asume que están en el formato de datos_sia (previamente transformados con la función ancho), de forma que se espera que los valores sean numéricos.

Value

Devuelve los mismos datos pero en formato largo: los nombres del parámetro van en una columna y en otras columnas: valor, LD y LC. Esto puede variar según los distintos métodos.

  • planilla: Devuelve los mismos datos pero en formato largo, con la columna nfila agregada, valores (character) en la columna valor_minimo_str (nombre usado para que coincida con datos_muestras_parametros de infambietnalbd). El parámetro se indica en la columna nombre_clave, cuando tcols es null, o id_parametro, en caso contrario. En ese último caso, también se incluye la columna is_num.

Debe tenerse en cuenta que se eliminan las entradas sin valores válidos (i.e.: NA). En caso de que en los datos incluyan LD o LC, esto aplica solamente en caso de que tanto valor_minimo_str, como limite_deteccion y limite_cuantificacion sean NA.

See Also

ancho, listaPD

Examples

d <- filtrar_datos(datos_sia,
                   id_programa = 10L,
                   rango_fechas = c("2019-01-01", "2020-12-31"),
                   id_parametro = c(2099, 2098)) %>%
  dplyr::select(codigo_pto, fecha_muestra, id_parametro, param, id_unidad,
                uni_nombre, limite_deteccion, limite_cuantificacion, valor)
da <- ancho(d)
(dal <- largo(da))

dim(d)
dim(dal)

datos_sia %>%
  dplyr::filter(id_programa == 4, id_parametro %in% c(2017, 2021)) %>%
  ancho %>%
  largo

# # # Con clase planilla # # #

# Sin argumento tcols se deben eliminar los parámetros sin LD/LC:
largo(listaPD$datos[-8:-16])

# Con tcols se puede hacer completo:
largo(listaPD$datos, listaPD$ppd)


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