Calidad del aire

Introducción.

Antecedentes.

Datos, procedimietos, análisis y resultados

Datos de la calidad de aire

library(pacman)
p_load("readxl", "prettydoc", "tidyverse", "DT", "gridExtra", "gganimate", "gifski")
calidadaire <- read_excel("calidadaire.xlsx", 
    col_types = c("date", "numeric", "numeric", 
        "numeric"))

Visualización de datos del aire

datatable(calidadaire)

Datos, gráficas y cantidades del aire

  • Ozono
plot(calidadaire$Time, calidadaire$O3, title(main='O3 ppb'), xlab = "Días", ylab = "Ozono (O3)")
rectaO3 <- lm(calidadaire$O3 ~ calidadaire$Time)
abline(rectaO3, col='blue', lwd='2')

  • Segun la gráfica en los datos generales del mes de Noviembre, en base al ozono (O3), podemos ver como este gas se ha estado reduciendo (levemente) mientras avanzaban los días, esto se ve gracias a la linea graficada.

  • Visualizando los datos en números, tenemos:

summary(rectaO3)
## 
## Call:
## lm(formula = calidadaire$O3 ~ calidadaire$Time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -97.458 -10.887  -3.185  11.017  39.077 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)  
## (Intercept)       1.998e+03  1.127e+03   1.772   0.0768 .
## calidadaire$Time -1.232e-06  7.021e-07  -1.755   0.0797 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.1 on 718 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.004272,   Adjusted R-squared:  0.002885 
## F-statistic: 3.081 on 1 and 718 DF,  p-value: 0.07966

Donde \[y= -1.232e-06x + 1.998e+03\]

  • La disminución del ozono en el aire de hermosillo fue a razon de 1.232e-06ppb por hora, este valor lo obtenenmos con la ecuación de la recta.

  • Dioxido de Azufre.

plot(calidadaire$Time, calidadaire$SO2, title(main='SO2 ppb'), xlab = "Días", ylab = "Dioxido de azufre (SO2)")
rectaSO2 <- lm(calidadaire$SO2 ~ calidadaire$Time)
abline(rectaSO2, col='blue', lwd='2')

  • El Dioxido de Azufre a diferencia del ozono, incrementa conforme pasan los días del mes de Noviembre. Se ve en los datos como en los días del 4 al 12 y del 20 al 27, hay una baja de este componente en el aire de hermosillo, este compuesto se produce en su mayoría por la combustion de productos petroleros, por lo que podemos decir que en esos días no hubo mucho movimiento vehicular en comparación a otros días.

  • Visualizando los datos en números, tenemos:

summary(rectaSO2)
## 
## Call:
## lm(formula = calidadaire$SO2 ~ calidadaire$Time)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.26479 -0.10279 -0.00567  0.06709  0.76872 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -8.089e+01  1.151e+01  -7.026 4.93e-12 ***
## calidadaire$Time  5.064e-08  7.171e-09   7.062 3.90e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.144 on 718 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.06494,    Adjusted R-squared:  0.06364 
## F-statistic: 49.87 on 1 and 718 DF,  p-value: 3.895e-12

Donde \[y=5.064e-08x - 8.089e+01\]

  • El incremento que tiene este componente en el aire de Hermosillo es de 5.064e-08ppb por hora según la ecuación de la recta obtenida.

  • Partículas inhalables.

plot(calidadaire$Time, calidadaire$PM10, title(main='PM10 microgr/m3'), xlab = "Días", ylab = "Partículas inhalables (PM10)")
rectaPM10 <- lm(calidadaire$PM10 ~ calidadaire$Time)
abline(rectaPM10, col='blue', lwd='2')

  • Se puede ver en la grafica que este tipo de particulas, incrementaron en el mes de Noviembre, estas partículas se crean o producen por procesos mecanicos o de evaporación teniendo a los procesos industriales o del tráfico como principales productores. Por lo anterior, se intuye que aumento el movimiento vehicular en hermosillo conforme el mes de noviembre llegaba a su fin.

  • Visualizando los datos en números, tenemos:

summary(rectaPM10)
## 
## Call:
## lm(formula = calidadaire$PM10 ~ calidadaire$Time)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.708 -24.025  -6.048  17.793 194.560 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)   
## (Intercept)      -7.157e+03  2.663e+03  -2.687  0.00737 **
## calidadaire$Time  4.493e-06  1.659e-06   2.708  0.00692 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 33.31 on 718 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.01011,    Adjusted R-squared:  0.008734 
## F-statistic: 7.335 on 1 and 718 DF,  p-value: 0.006923

Donde \[y= 4.493e-06x - 7.157e+03\]

  • Según la ecuación obtenida, estas partículas incrementan a razon de 4.493e-06 microgramos por metro cúbico.

Correlación

pairs(calidadaire)

  • Con esta gráfica pareciera que el Dioxido de Azufre aumenta, las partículas inhalables también lo hicieran.
concentracionSO2 <- calidadaire$SO2
concentracionPM10 <- calidadaire$PM10
SO2vsPM10 <- data.frame(concentracionSO2, concentracionPM10)
pairs(SO2vsPM10)

  • Para ver si hay alguna relación:
cor(SO2vsPM10)
##                   concentracionSO2 concentracionPM10
## concentracionSO2                 1                NA
## concentracionPM10               NA                 1
  • Con esto podemos visualizar de mejor manera que lo que especulamos con la relaciones entre SO2 y las PM10, era incorrecto.

Datos y gráficas Movilidad en Sonora, mes de Noviembre 2020

Sonoramov <- read_excel("Sonoramov.xlsx", 
    col_types = c("text", "text", "text", 
        "numeric", "numeric", "text", "numeric", 
        "date", "numeric", "numeric", "numeric", 
        "numeric", "numeric", "numeric"))
### Visualizar datos de movilidad en Sonora
r datatable(Sonoramov)
* Datos recuperados de : https://www.google.com/covid19/mobility/
* Renombrar variables de interes para facilitas al momento de llamarlas
```r Comercio_Recreacion_porciento <- Sonoramov$retail_and_recreation_percent_change_from_baseline
Frmacias_abarrotes_porciento <- Sonoramov$grocery_and_pharmacy_percent_change_from_baseline
Parques_porciento <- Sonoramov$parks_percent_change_from_baseline
Estaciones_transito_porciento <- Sonoramov$transit_stations_percent_change_from_baseline
Espacios_trabajos_porciento <- Sonoramov$workplaces_percent_change_from_baseline
Hogares_porciento <- Sonoramov$residential_percent_change_from_baseline
Porcentaje_VR <- Sonoramov$retail_and_recreation_percent_change_from_baseline
Porcentaje_F <- Sonoramov$grocery_and_pharmacy_percent_change_from_baseline
Porcentaje_P <- Sonoramov$parks_percent_change_from_baseline
Porcentaje_ET <- Sonoramov$transit_stations_percent_change_from_baseline
Porcentaje_AT <- Sonoramov$workplaces_percent_change_from_baseline
Porcentaje_H <- Sonoramov$residential_percent_change_from_baseline
Fechamr = seq(from = as.Date("2020-11-01"), to = as.Date("2020-11-30"), by = 'day')
dataMR <- data.frame(x=Fechamr,y=Comercio_Recreacion_porciento) ```
* Gráficas de la movilidad en Sonora, mes de Noviembre
```r gMR1 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_VR), size=1, colour="orange") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("a) Comercio y recreación")
gMR2 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_F), size=1, colour="darkgreen") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("b) Farmacias y abarrotes")
gMR3 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_P), size=1, colour="purple") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("c) Parques")
gMR4 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_ET), size=1, colour="brown") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("d) Estaciones de tránsito")
gMR5 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_AT), size=1, colour="red") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("e) Espacios de trabajo")
gMR6 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_H), size=1, colour="blue") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("f) Hogares") grid.arrange(gMR1,gMR2,gMR3,gMR4,gMR5,gMR6) ```
* ¿Porqué estas gráficas se asocian con la movilidad? eso es por la razon de que, para llegar a cualquiera de estos lugares, hay que transportarse en con algún medio (carro, camión, bicicleta, patineta, etc.) y eso nos traduce la movilidad que hay en el estado de Sonora.
* la gráfica de hogares es la que nos representa mejor, ya que si la gente se queda en sus casas, podemos asegurar con mayor veracidad de que no hubo desplazos, por la que usaremos esos datos para relacionarlos con la calidad del aire. Las interpretaciones que se haran seran solo supuestos, ya que unos datos son especificos de Hermosillos y otros son de todo Sonora.
r ggplot(data = Sonoramov) + geom_line(mapping = aes(x = Fechamr, y = Hogares_porciento)) + ggtitle("Situados en sus hogares") + transition_reveal(Fechamr)
* Como se aprecia en la gráfica interactiva, hay bajas que nos indican que mas gente salio de sus hogares para hacer algo.
* Recordando que :
```r Dias <- calidadaire$Time
gconc1 <- ggplot(data=calidadaire) + geom_line(aes(x=Dias, y=concentracionSO2), colour="red") + ggtitle("Concentraciones en el aire, Noviembre") + ylab("Concentraciones") + xlab("Días")
gconc2 <- ggplot(data=calidadaire) + geom_line(aes(x=Dias, y=concentracionPM10), colour="green") + ggtitle("Concentraciones en el aire, Noviembre") + ylab("Concentraciones") + xlab("Días")
grid.arrange(gconc1,gconc2) ```
``` ## Warning: Removed 1 row(s) containing missing values (geom_path).
## Warning: Removed 1 row(s) containing missing values (geom_path). ```
* Las gráficas nos relacionan, que mientras mas gente se quedaba en sus hogares menos contaminantes habia en el aire, se ve un comportamiento de que concuerden los datos recordemos que son suposiciones por lo anterior dicho acerca de los datos
calidadaire2 <- read_excel("calidadaire2.xlsx")

Horas <- calidadaire2$Time
ConcentracionSO2 <- calidadaire2$SO2
ConcentracionPM10 <- calidadaire2$PM10
ConcentracionO3 <- calidadaire2$O3

gCon1 <- ggplot(data=calidadaire2) +
  geom_line(aes(x=Horas, y=ConcentracionSO2), colour="red") +
  ggtitle("Concentraciones (SO2) en el aire por día") +
  ylab("Concentraciones") + xlab("Horas")

gCon2 <- ggplot(data=calidadaire2) +
  geom_line(aes(x=Horas, y=ConcentracionPM10), colour="blue") +
  ggtitle("Concentraciones (PM10) en el aire por día") +
  ylab("Concentraciones") + xlab("Horas")

gCon3 <- ggplot(data=calidadaire2) +
  geom_line(aes(x=Horas, y=ConcentracionO3), colour="green") +
  ggtitle("Concentraciones (O3) en el aire por día") +
  ylab("Concentraciones") + xlab("Horas")

grid.arrange(gCon1, gCon2, gCon3)