R/Analisis-GRAL-Estaciones-MULT.R

######INICIO PAQUETES #######
### Paquetes necesarios para los graficos BASE y 3D solo con plotly
library(readxl, quietly=TRUE)  # v1.3.1
library(tidyverse, quietly=TRUE) # v1.3.1
library(ggplot2, quietly=TRUE) # v3.3.5
library(plotly, quietly=TRUE)    # v4.10.0
library(heatmaply, quietly=TRUE) # v1.3.0
library(dygraphs, quietly=TRUE)  # v1.1.1.6
#
####FIN PAQUETES####
####INICIO ANALISIS GNRAL######
#*************************************************************
#* [04/10/2022 16:00:00] INICIO x ESTACION
#* Generar graficos descriptivos de comparacion por estacion
#* para el periodo DIC.2021 A AGO.2022:
#* E1's data [san miguel - code 61]
#* E3's data [ancon sur - code 62]
#* E8's data [aula ambiental - code 63]
#* --
#* 14.SEP.22 15:00:
#* Se actualiza este analisis para usar un SET de datos de DIC.21 a JUL.22
#* * NOTA: Este conjunto de graficos fue usado en el informe descriptivo ubicado
#* en la ruta: D:\PEREZOFT_EFECTO_BYTE_SAS\4_Proyecto_HIPERVIZ_R_UdeA\1-INFO-NEW-PROY-OCT21\
#*             IMGS-Analisis-Descriptivo-2022\DIC.21-AGO.22\00-Generales\1-CONDUCTIVIDAD
#* Como ejemplo para el informe se usan los graficos [A] y [B] abajo en esta seccion:
# ************************************************************
#
hiperviz_data_path <- "C:\\Temp\\"
#
media_labels <- data.frame(
   variable = c("t_id", "CONDUCTIVIDAD", "PH", "OXIGEN_DIS", "TURBIEDAD", "POTENCIAL_REDOX", "TEMPERATURA"),
   desc = c(
      "t-sub-j",
      "Conductividad el\u00E9ctrica (\u03BCS/cm)",
      "pH (U de pH)",
      "Ox\u00EDgeno disuelto (mg/l)",
      "Turbiedad (NTU)",
      "Redox (mV)",
      "Temperatura (\u00BAC)"
   ),
   stringsAsFactors=FALSE
)
# Rangos para la hoja de excel: MAY.22: A1:AB48805, JUL.22: A1:AB65484, AGO.22: A1:AB74412
gnral_est_DB <- read_excel(paste0(hiperviz_data_path,"GNRAL-ESTACIONES_CONSOLIDADO_c15mins-AGO22.xlsx"), col_names=TRUE,
                           sheet="MEDICION_ESTACION", range="A1:AB74412") # <- Cambiar el rango aqui...
#*(BEGINNIG REPLACE)
head(gnral_est_DB)
nrow(gnral_est_DB)
#gnral_est_DB <- na.omit(gnral_est_DB) # Elimina las filas con celdas sin valor numerico (NA)
#nrow(gnral_est_DB)
#
## GRAFICO DE BOXPLOT para agrupar por estacion en la BD inicial:
dataSerie <- gnral_est_DB[c("fila_id", "ESTACION_TXT", "CONDUCTIVIDAD")]
selected_label <- media_labels %>% filter(variable == "CONDUCTIVIDAD") %>% select("desc")
names(dataSerie) <- c("fila_id", "estacion", "parametro")
#
# Grafico de boxplot discriminando por estacion: (no se filtra la estacion en la BD inicial)
gpy_box <- dataSerie %>% # pointpos: Posicion donde salen los puntos, aqui el centro (0).
   plot_ly(x=~estacion, y=~parametro, color=~estacion, type = "box", jitter=0.3, pointpos=0,
           boxpoints = "none", # <- Los valores deben ser: none / all
           marker=list(color='rgba(219, 64, 82, 0.6)'), boxmean = "sd" # Atributo que activa la presentación de la media y la desviacion estandar en el box-plot.
   ) %>% layout(xaxis=list(title="Estaci\u00F3n"),
                yaxis=list(title = sprintf("%s %s","Valor ", selected_label), zeroline = T))
#
gpy_box
##
## GRAFICO DE VIOLIN para agrupar por estacion en la BD inicial:
#
gpy_vio <- dataSerie %>%
   plot_ly(x = ~estacion, y = ~parametro, split = ~estacion, type = "violin",
           box = list(visible = T), meanline = list(visible = T)
   ) %>% layout(xaxis=list(title="Estaci\u00F3n"),
                yaxis=list(title = sprintf("%s %s","Valor ", selected_label), zeroline = T))
#
gpy_vio
##
## GRAFICO DE DENSIDAD para agrupar por estacion en la BD inicial:
#
# alpha: 0.2 (colores claros) / 0.55 (colores intermedios),
# es el parametro para el nivel de transparencia de las densidades presentadas:
ggp_den <- ggplot(dataSerie, aes(x = parametro, group = estacion, fill = estacion)) + geom_density(alpha=0.55) +
   labs(title = sprintf("%s",selected_label), x = sprintf("%s %s","Valores: ",selected_label), y = "Densidad") +
   theme(
      legend.position="right"
   )
# Se usa el objeto "ggp" para una invocacion mas limpia...
ggplotly(ggp_den)
##
# Parametros a evaluar: "CONDUCTIVIDAD", "PH", "OXIGEN_DIS", "TURBIEDAD", "POTENCIAL_REDOX", "TEMPERATURA"
# SE DEBE FILTRAR POR ESTACION, pues cada estacion es independiente con respecto a los parametros medidos:
## CODIGOS de estaciones: 1_SAN_MIGUEL, 3_ANCON_SUR, 8_AULA_AMBIENTAL
#
estacion_DB <- gnral_est_DB %>% filter(ESTACION_TXT == "1_SAN_MIGUEL")
head(estacion_DB)
nrow(estacion_DB)
#
dataSerie <- estacion_DB[c("fila_id", "MES", "TEMPERATURA")]
names(dataSerie) <- c("fila_id", "mes", "parametro")
selected_label <- media_labels %>% filter(variable == "TEMPERATURA") %>% select("desc")
#
dataSerie <- dataSerie %>% transmute(fila_id = fila_id, mes = dplyr::case_when(
   # IMPORTANTE: Se usa el numero+nombre del mes, para que en el grafico se presente en orden numerico ASC.
   mes == 1 ~ "2022-01-Enero",mes == 2 ~ "2022-02-Febrero",mes == 3 ~ "2022-03-Marzo",mes == 4 ~ "2022-04-Abril",
   mes == 5 ~ "2022-05-Mayo",mes == 6 ~ "2022-06-Junio",mes == 7 ~ "2022-07-Julio",mes == 8 ~ "2022-08-Agosto",
   mes == 9 ~ "2022-09-Septiembre",mes == 10 ~ "2022-10-Octubre",mes == 11 ~ "2022-11-Noviembre",mes == 12 ~ "2021-12-Diciembre"
), parametro = parametro)
#
#
# Grafico de boxplot discriminando por MES: (los meses estan enumerados por mes-año)
gpy_boxmes <- dataSerie %>% # pointpos: Posicion donde salen los puntos, aqui el centro (0).
   plot_ly(x=~mes, y=~parametro, color=~mes, type = "box", jitter=0.3, pointpos=0,
           boxpoints = "none", # <- Los valores deben ser: none / all
           marker=list(color='rgba(219, 64, 82, 0.6)'), boxmean = "sd" # Atributo que activa la presentación de la media y la desviacion estandar en el box-plot.
   ) %>% layout(xaxis=list(title="Mes / 1_SAN_MIGUEL"),
                yaxis=list(title=sprintf("%s %s","Valor ", selected_label), zeroline=T))
#
gpy_boxmes
##
#*(ENDING REPLACE)
####FIN ANALISIS GNRAL######
#*************************************************************
#* [04/10/2022 16:00:00] FIN x ESTACION
#* Generar graficos descriptivos de comparacion por estacion
#* para el periodo DIC.2021 A AGO.2022.
# ************************************************************
#
#*********************************************
#* [04/10/2022 04:00:00 p. m.] Inicio
#* Plotly: Heatmap, contour and surface-3D plot used with repeat measures.
#* E1's data [san miguel - code 61]
#* E3's data [ancon sur - code 62]
#* E8's data [aula ambiental - code 63]
#* 04.OCT.22:
#* Se actualizan este conjunto de graficos usando un SET de datos
#* entre DIC.21 y AGO.22.
#* * NOTA: Este conjunto de graficos fue usado en el informe descriptivo ubicado
#* en la ruta: D:\PEREZOFT_EFECTO_BYTE_SAS\4_Proyecto_HIPERVIZ_R_UdeA\
#*             1-INFO-NEW-PROY-OCT21\IMGS-Analisis-Descriptivo-2022\DIC.21-MAGO.22\61-SanMigl-E1\1-CONDUCTIVIDAD
#* Como ejemplo para el informe se usan los graficos [A] y [B] abajo en esta seccion:
# *********************************************
#
#######INICIO Analisis BASE de MR#####################################
#
hiperviz_data_path <- "C:\\Temp\\"
media_labels <- data.frame(
   variable = c("t_id", "COND", "PH", "OXD", "TURB", "PRDX", "TEMP"),
   desc = c(
      "t-sub-j",
      "Conductividad el\u00E9ctrica (\u03BCS/cm)",
      "pH (U de pH)",
      "Ox\u00EDgeno disuelto (mg/l)",
      "Turbiedad (NTU)",
      "Redox (mV)",
      "Temperatura (\u00BAC)"
   ),
   stringsAsFactors=FALSE
)
# Hojas de Excel: MR_CONDUCTIVIDAD, MR_PH, MR_OD, MR_TURBIEDAD, MR_POTENCIAL_REDOX, MR_TEMPERATURA
#
MR_ESTACION_DB <- read_excel(paste0(hiperviz_data_path,"TODO_MR_E8_CONV_825_c15mins-AGO22.xlsx"),
                             col_names=TRUE, sheet="MR_TEMPERATURA", range="F1:CW275")
#
head(MR_ESTACION_DB)
nrow(MR_ESTACION_DB)
#
TEMP <- as.matrix(MR_ESTACION_DB) # <-funcion en paquete "base" de R
#
#*[A] Contorno: Al usar el nombre de los colores entre "comillas" se asigna un
# objeto del color con la escala por defecto. P. ej: Blues(3),Spectral,Reds,Blues,Oranges
paramPlot <- plot_ly(z=~TEMP, type = "contour", colors=cool_warm(10))
paramPlot
#*[B] Superficie:
paramPlot3d <- plot_ly(z=~TEMP, colors=cool_warm(10))
paramPlot3d <- paramPlot3d %>% add_surface()
paramPlot3d
##
########FIN Analisis BASE de MR#############
##
carlosperezoft/hipervizr documentation built on Nov. 17, 2022, 9:24 a.m.