La información del clima se obtiene del ASOS (Automated Surface Observing System) ubicados en los aeropuertos de todas las ciudades del mundo.
# install.packages("riem") # Accesar al ASOS (sistema del clima) para obtener datos climáticos
library(riem)
# install.packages("tidyverse") # Manipulación de datos
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.0 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(lubridate)
# install.packages("ggplot2") # Gráficas con mejor diseño que plot
library(ggplot2)
# install.packages("plotly") # Gráficas con mejor calidad
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
#view (riem_networks())
#MX__ASOS
#view(riem_stations("MX__ASOS"))
#MMMY
clima_mty <- riem_measures("MMMY")
clima_mty_feb <- subset(clima_mty, valid >= as.POSIXct("2024-02-01 00:00") & valid <= as.POSIXct("2024-02-29 23:59"))
plot(clima_mty_feb$valid,clima_mty_feb$relh,type = "l",main ="Humedad Relativa en Monterrey durante Febrero 2024", xlab = "Fecha", ylab = "Humedad Relativa en (%)")
# Promediar humedad relativa diaria
clima_mty_feb$date <- as.Date(clima_mty_feb$valid)
cmfd <- aggregate(clima_mty_feb, by=list(date = clima_mty_feb$date), FUN=mean)
# Graficar la humedad reltaiva promedio por dia
plot(cmfd$date, cmfd$relh,type="l",main="Promedio Diario de Humedad Relativa en Monterrey durante Febrero 2024", xlab="Fecha", ylab="Humedad Relativa (%)")
# obtener datos del clima de saltillo
clima_saltillo <- riem_measures("MMIO")
# obtener datos del clima del mes de febrero en saltillo
clima_saltillo_feb <- subset(clima_saltillo, valid >= as.POSIXct("2024-02-01 00:00") & valid <= as.POSIXct("2024-02-29 23:59"))
# promediar información por día
clima_diario <- clima_saltillo_feb %>%
mutate(date = ymd_hms(valid), date= as.Date(date)) %>%
group_by(date)%>%
summarize_if(is.numeric, ~ mean(., na.rm = TRUE))
tibble(clima_diario)
## # A tibble: 29 × 17
## date lon lat tmpf dwpf relh drct sknt p01i alti mslp vsby
## <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2024-02-01 -101. 25.4 65.4 40.5 40.6 163. 3.07 0 30.2 NaN 10
## 2 2024-02-02 -101. 25.4 71.8 43.1 37.2 127. 5.33 0 30.0 NaN 10
## 3 2024-02-03 -101. 25.4 62.0 44.5 53.6 196. 7.62 0 29.9 NaN 10
## 4 2024-02-04 -101. 25.4 60.4 38.5 44.9 235 5.25 0 30.1 NaN 10
## 5 2024-02-05 -101. 25.4 57.1 40.5 54.6 136. 4.43 0 30.2 NaN 10
## 6 2024-02-06 -101. 25.4 56.3 41.1 58.0 126. 4.5 0 30.2 NaN 10
## 7 2024-02-07 -101. 25.4 71.6 45.6 42.4 177. 6.69 0 30.1 NaN 10
## 8 2024-02-08 -101. 25.4 64.0 43.2 47.4 171. 4.08 0 30.1 NaN 10
## 9 2024-02-09 -101. 25.4 66.4 41.2 41.4 240 6.33 0 30.1 NaN 10
## 10 2024-02-10 -101. 25.4 64.8 45.3 49.6 170 3.92 0 30.0 NaN 9.38
## # ℹ 19 more rows
## # ℹ 5 more variables: gust <dbl>, skyl1 <dbl>, skyl2 <dbl>, skyl3 <dbl>,
## # feel <dbl>
# convertir farenheit a centigrados
clima_centigrados <- clima_diario
clima_centigrados$tmpf <- (clima_centigrados$tmpf-32)/1.8
str(clima_centigrados)
## tibble [29 × 17] (S3: tbl_df/tbl/data.frame)
## $ date : Date[1:29], format: "2024-02-01" "2024-02-02" ...
## $ lon : num [1:29] -101 -101 -101 -101 -101 ...
## $ lat : num [1:29] 25.4 25.4 25.4 25.4 25.4 ...
## $ tmpf : num [1:29] 18.6 22.1 16.7 15.8 13.9 ...
## $ dwpf : num [1:29] 40.5 43.1 44.5 38.5 40.5 ...
## $ relh : num [1:29] 40.6 37.2 53.6 44.9 54.6 ...
## $ drct : num [1:29] 163 127 196 235 136 ...
## $ sknt : num [1:29] 3.07 5.33 7.62 5.25 4.43 ...
## $ p01i : num [1:29] 0 0 0 0 0 0 0 0 0 0 ...
## $ alti : num [1:29] 30.2 30 29.9 30.1 30.2 ...
## $ mslp : num [1:29] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
## $ vsby : num [1:29] 10 10 10 10 10 ...
## $ gust : num [1:29] NaN NaN 25 NaN NaN NaN NaN NaN NaN NaN ...
## $ skyl1: num [1:29] 4429 NaN NaN NaN NaN ...
## $ skyl2: num [1:29] NaN NaN NaN NaN NaN NaN NaN NaN NaN 10000 ...
## $ skyl3: num [1:29] NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
## $ feel : num [1:29] 65.4 71.4 62 60.4 57.1 ...
#gráfica
plot(clima_diario$date, clima_centigrados$tmpf,type="l",main="Temperatura (C°) Promedio por día en Saltillo durante Febrero", xlab = "Fecha", ylab = "Temperatura (C°)")
El ejercicio comienza explicando la fuente de los datos climáticos utilizados, provenientes del sistema ASOS ubicado en aeropuertos de todo el mundo. El uso de R y paquetes especializados como “rim” y “tidyverse” permite acceder a datos climáticos de manera eficiente y realizar análisis detallados para comprender mejor las condiciones climáticas.
Se muestra como instalar y cargar paqueterías necesarias para el análisis de datos climáticos, así como la obtención y manipulación de los datos específicos de Monterrey y Saltillo durante Febrero de 2024. Se utilizan técnicas de filtrado y agregación para visualizar la humedad relativa y la temperatura promedio diaria.
En conclusión, el análisis de la humedad relativa y temperatura promedio diaria proporciona información útil para comprender las condiciones climáticas en Monterrey y Saltillo, esto demuestra el potencial de R en el campo de análisis climático y la toma de decisiones basadas en datos.