g_mes_pto: Graficos de parámetros por mes

View source: R/informes.R

g_mes_ptoR Documentation

Graficos de parámetros por mes

Description

Conjunto de funciones para crear gráficos de informes.

Usage

g_mes_pto(
  .data,
  id_parametro,
  nombre_clave,
  legend.position = "none",
  ylab,
  t_eti
)

g_mes_pto_all(.data, id_parametro, t_eti, ...)

d_est_bar(
  .data,
  id_parametro,
  ...,
  nombre_clave,
  fun_moda = base::mean,
  fun_desvio = stats::sd
)

g_est_dsv(
  .data,
  id_parametro,
  nombre_clave,
  legend.position = "none",
  ylab,
  t_eti
)

g_est_dsv_all(.data, id_parametro, t_eti, ...)

g_cue_box(.data, id_parametro, nombre_clave, ylab, t_eti)

g_tie_lin(
  .data,
  id_parametro,
  nombre_clave,
  legend.position = "right",
  hline,
  ylab,
  t_eti
)

Arguments

.data

data.frame. Datos del SIA (ver datos_sia y ejemplos)

id_parametro

integer. Id de uno/escalar (g_mes_pto) o varios elementos (g_mes_pto_all, g_tie_lin). Se debe(n) corresponder con los ids encontrados columna homónima de sia_parametro

nombre_clave

character. Nombre clave del parámetro (ej.: "PT"), según los nombres usados en la columna nombre_clave de sia_parametro

legend.position

character. Valor enviado directamente al argumento legend.position de la función theme

ylab

Opcional. Etiqueta para el eje y del gráfico resultante. Si este argumento no es especificado, se utilizará la función eti para crear la etiqueta.

t_eti

tbl_df. Opcional. Tabla de etiquetas

...

En caso de las funciones *_all, son argumentos adicionales para pasar a wrap_plots. En caso de d_est_bar, se trata de una o más columnas de .data sin comillas

fun_moda

function. Funcion para calulcular la moda de valor

fun_desvio

function. Función para calcular desvío de valor

hline

numeric o data.frame. Para agregar líneas horizontales a las series de tiempo de g_tie_lin. Ver detalles.

Details

g_mes_pto grafica los valores de un parámetro por mes, usando colores para diferenciar las estaciones; g_est_dsv muestra promedios y desvíos estándares de un parámetro, según las estaciones encontradas en .data (internamente procesa los datos con d_est_bar); d_est_bar perpara datos para la función anterior, incluyendo modas y desvíos; g_cue_box Grafica valores de un parámetro con gráficos de cajas (boxplot), para comparar subcuencas. La función g_tie_lin grafica series de tiempo con líneas, tomando hasta 5 parámetros a la vez. Las versiones [..funcion..]_all agrupan en una misma figura los gráficos generados con [..funcion..] para el total de parámetros encontrados en id_parametro.

El argumento hline de g_tie_lin puede usarse de dos maneras posibles:

  1. Si es un valor numérico, tiene que tener la misma cantidad de elementos que parámetros graficados, independientemente de que los parámetros sean explicitados como argumentos o no.

  2. Si es un data.frame, tiene que tener las columnas id_parametro y hline, de tipo integer (o equivalente) y numeric, respectivamente. Por cada fila con un id_parametro coincidente con los graficados, la función agregará una línea horizontal en el facet correspondiente.

g_mes_pto_all en escencia llama a g_mes_pto tantas veces como id de parámetros en id_parametro, realizando una figura única que combina los gráficos de los parámetros individuales. , mientras que

Requiere de la tabla decreto para agregar las líneas horizontales correspondientes a los valores límites aceptados para la clase 1 de aguas (decreto 253/79).

Value

Objeto de clase gg (hereda de ggplot).

Functions

  • g_mes_pto: grafica los valores de un parámetro por mes

  • g_mes_pto_all: Varios gráficos de valores de parámetros por mes en una misma figura, usando g_mes_pto.

  • d_est_bar: Prepara datos para g_est_bar (presentar modas y desvíos)

  • g_est_dsv: Muestra promedios y desvíos estándares de un parámetro para las estaciones encontradas en .data

  • g_est_dsv_all: Varios gráficos de promedios y desvíos estándares para parámetros por estación, en una misma figura, usando g_est_dsv

  • g_cue_box: Gráfico de cajas (boxplot) para comparación de valores de un parámetro entre cuencas

  • g_tie_lin: Series de tiempo por estación, hasta 5 parámetros.

See Also

t_eti_base

Examples

p <- c(PT=2098, NT=2102, ST=2028, Conduc=2009)

d <- datos_sia %>%
  filtrar_datos(id_programa = 10L,
                rango_fechas = c("2019-01-01", "2019-12-31"),
                id_parametro = p)

cebo <- dplyr::filter(d, nombre_subcuenca_informes == "Cebollatí")

# ======= Mensuales: puntos (g_mes_pto) =================================== #
g_mes_pto(cebo, id_parametro = 2009, ylab = 'Cond (μS/cm)')
g_mes_pto(cebo, nombre_clave = 'Conduc', ylab = 'Cond (μS/cm)')
g_mes_pto_all(cebo, id_parametro = p)
g_mes_pto_all(cebo, id_parametro = 2098L)
g_mes_pto_all(cebo, id_parametro = 2008L) # Vacío
g_mes_pto_all(cebo, id_parametro = c(p, 2008L)) # Vacío

# ======= Cuencas: boxplot ======= #
g_cue_box(d, nombre_clave = "PT")

# ======= Estaciones: puntos + desvío estándar (g_est_dsv) ================ #
e <- datos_sia %>%
  filtrar_datos(id_programa = 4L,
                rango_fechas = c(2017, 2019),
                id_parametro = p)

g_est_dsv(e, nombre_clave = "PT")
g_est_dsv_all(e, p)
g_est_dsv(e, 2008)
g_est_dsv_all(e, 2098)
g_cue_box(e, p[1])

# ======= Series de tiempo (g_tie_lin) ==================================== #
d <- filtrar_datos(datos_sia, 4L, rango_fechas = c(2015, 2019),
                   id_parametro = 2032L, tipo_punto_id = 1L)
g_tie_lin(d, 2032L)
g_tie_lin(d, 2032L) + geom_hline(yintercept = 27) +
  ggtitle("Agrega línea horizontal", "T = 27 ºC")
g_tie_lin(d, 2032L, hline = 27) +
  ggtitle("Agrega línea horizontal, con el argumento hline", "T = 27 ºC")
g_tie_lin(d, 2032L, ylab = "Temperatura ºC")
g_tie_lin(d, 2000L) # NO HAY DATOS

d <- filtrar_datos(datos_sia, 4L, rango_fechas = c(2015, 2019),
                   tipo_punto_id = 1L)

g_tie_lin(d) # Grafica sólo 5 parámetros
g_tie_lin(d, c(2032L, 2017L, 2098L))

d <- filtrar_datos(datos_sia, 4L, rango_fechas = c(2015, 2019),
                   id_parametro = c(2032L, 2017L, 2098L),
                   id_estacion = c(100245, 100249, 100254),
                   orden_est = c("RN1", "RN6", "RN12"),
                   tipo_punto_id = 1L)
lineash <- data.frame(id_parametro = c(2032L, 2032L, 2017L),
                      hline = c(14, 26, 9.8))
p <- g_tie_lin(d, hline = lineash)
print(p)

## Para hacer un gráfico interactivo (necesita el paquete plotly):
## plotly::ggplotly(p) #FancyPants

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