Teoría

La información del clima se obtiene del ASOS (Automated Surface Observing System) ubicados en los aeropuertos de todas las ciudades del mundo.

Instalar paquetes y llamar librerías

# 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

Paso 1. Buscar la red del país (México) y copiar CODE

#view (riem_networks())
#MX__ASOS

Paso 2. Buscar la estación o ciudad (Monterrey) y copiar ID

#view(riem_stations("MX__ASOS"))
#MMMY

Paso 3. Obtener datos del clima

clima_mty <- riem_measures("MMMY")

Ejercicio 1. Obtener datos del clima de Monterrey de Febrero 2024

clima_mty_feb <- subset(clima_mty, valid >= as.POSIXct("2024-02-01 00:00") & valid <= as.POSIXct("2024-02-29 23:59"))

Ejercicio 2. Graficar la Humedad Relativa en Monterrey durante Febrero 2024

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 (%)")

Ejercicio 3. Graficar la Temperatura (C°) Promedio por día

# 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°)")

Conclusión

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.

LS0tCnRpdGxlOiAiQ2xpbWEiCmF1dGhvcjogIk1hcsOtYSBTw6FlbnogUGFyw6FzIgpkYXRlOiAiMjAyNC0wMi0yOSIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQgOiAKICAgIHRvYyA6IFRSVUUKICAgIHRvY19mbG9hdCA6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQgOiBUUlVFCiAgICB0aGVtZSA6IGRhcmsKLS0tCgohW10oL1VzZXJzL21hcmlhL0Rlc2t0b3AvdGVjIDR0by9tYW5pcHVsYWNpb8yBbiBkZSBkYXRvcy81ZmUzMzBlYjhkOGVkMTVlYjcxMGUyMzk0NjUwM2E0OS5naWYpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogI0ZGRjBGNTsiPlRlb3LDrWE8L3NwYW4+CkxhIGluZm9ybWFjacOzbiBkZWwgY2xpbWEgc2Ugb2J0aWVuZSBkZWwgKipBU09TKiogKCpBdXRvbWF0ZWQgU3VyZmFjZSBPYnNlcnZpbmcgU3lzdGVtKikgdWJpY2Fkb3MgZW4gbG9zIGFlcm9wdWVydG9zIGRlIHRvZGFzIGxhcyBjaXVkYWRlcyBkZWwgbXVuZG8uIAoKIyA8c3BhbiBzdHlsZT0iY29sb3I6ICNEMUVFRUU7Ij5JbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzPC9zcGFuPgpgYGB7cn0KIyBpbnN0YWxsLnBhY2thZ2VzKCJyaWVtIikgIyBBY2Nlc2FyIGFsIEFTT1MgKHNpc3RlbWEgZGVsIGNsaW1hKSBwYXJhIG9idGVuZXIgZGF0b3MgY2xpbcOhdGljb3MKbGlicmFyeShyaWVtKQojIGluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpICMgTWFuaXB1bGFjacOzbiBkZSBkYXRvcwpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShsdWJyaWRhdGUpCiMgaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpICMgR3LDoWZpY2FzIGNvbiBtZWpvciBkaXNlw7FvIHF1ZSBwbG90CmxpYnJhcnkoZ2dwbG90MikKIyBpbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKSAjIEdyw6FmaWNhcyBjb24gbWVqb3IgY2FsaWRhZApsaWJyYXJ5KHBsb3RseSkKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogI0JDRDJFRTsiPlBhc28gMS4gQnVzY2FyIGxhIHJlZCBkZWwgcGHDrXMgKE3DqXhpY28pIHkgY29waWFyIENPREU8L3NwYW4+CmBgYHtyfQojdmlldyAocmllbV9uZXR3b3JrcygpKQojTVhfX0FTT1MKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogI0M2RTJGRjsiPlBhc28gMi4gQnVzY2FyIGxhIGVzdGFjacOzbiBvIGNpdWRhZCAoTW9udGVycmV5KSB5IGNvcGlhciBJRDwvc3Bhbj4KYGBge3J9CiN2aWV3KHJpZW1fc3RhdGlvbnMoIk1YX19BU09TIikpCiNNTU1ZCmBgYAoKIyA8c3BhbiBzdHlsZT0iY29sb3I6ICNFRUE5Qjg7Ij5QYXNvIDMuIE9idGVuZXIgZGF0b3MgZGVsIGNsaW1hPC9zcGFuPgpgYGB7cn0KY2xpbWFfbXR5IDwtIHJpZW1fbWVhc3VyZXMoIk1NTVkiKQpgYGAKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiAjRkZDMUMxOyI+RWplcmNpY2lvIDEuIE9idGVuZXIgZGF0b3MgZGVsIGNsaW1hIGRlIE1vbnRlcnJleSBkZSBGZWJyZXJvIDIwMjQ8L3NwYW4+CmBgYHtyfQpjbGltYV9tdHlfZmViIDwtIHN1YnNldChjbGltYV9tdHksIHZhbGlkID49IGFzLlBPU0lYY3QoIjIwMjQtMDItMDEgMDA6MDAiKSAmIHZhbGlkIDw9IGFzLlBPU0lYY3QoIjIwMjQtMDItMjkgMjM6NTkiKSkKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogI0VFRDJFRTsiPkVqZXJjaWNpbyAyLiBHcmFmaWNhciBsYSBIdW1lZGFkIFJlbGF0aXZhIGVuIE1vbnRlcnJleSBkdXJhbnRlIEZlYnJlcm8gMjAyNDwvc3Bhbj4KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KcGxvdChjbGltYV9tdHlfZmViJHZhbGlkLGNsaW1hX210eV9mZWIkcmVsaCx0eXBlID0gImwiLG1haW4gPSJIdW1lZGFkIFJlbGF0aXZhIGVuIE1vbnRlcnJleSBkdXJhbnRlIEZlYnJlcm8gMjAyNCIsIHhsYWIgPSAiRmVjaGEiLCB5bGFiID0gIkh1bWVkYWQgUmVsYXRpdmEgZW4gKCUpIikKCiMgUHJvbWVkaWFyIGh1bWVkYWQgcmVsYXRpdmEgZGlhcmlhIApjbGltYV9tdHlfZmViJGRhdGUgPC0gYXMuRGF0ZShjbGltYV9tdHlfZmViJHZhbGlkKQoKY21mZCA8LSBhZ2dyZWdhdGUoY2xpbWFfbXR5X2ZlYiwgYnk9bGlzdChkYXRlID0gY2xpbWFfbXR5X2ZlYiRkYXRlKSwgRlVOPW1lYW4pCgojIEdyYWZpY2FyIGxhIGh1bWVkYWQgcmVsdGFpdmEgcHJvbWVkaW8gcG9yIGRpYQpwbG90KGNtZmQkZGF0ZSwgY21mZCRyZWxoLHR5cGU9ImwiLG1haW49IlByb21lZGlvIERpYXJpbyBkZSBIdW1lZGFkIFJlbGF0aXZhIGVuIE1vbnRlcnJleSBkdXJhbnRlIEZlYnJlcm8gMjAyNCIsIHhsYWI9IkZlY2hhIiwgeWxhYj0iSHVtZWRhZCBSZWxhdGl2YSAoJSkiKQpgYGAKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiAjQjRFRUI0OyI+RWplcmNpY2lvIDMuIEdyYWZpY2FyIGxhIFRlbXBlcmF0dXJhIChDwrApIFByb21lZGlvIHBvciBkw61hIDwvc3Bhbj4KYGBge3J9CiMgb2J0ZW5lciBkYXRvcyBkZWwgY2xpbWEgZGUgc2FsdGlsbG8KY2xpbWFfc2FsdGlsbG8gPC0gcmllbV9tZWFzdXJlcygiTU1JTyIpCgojIG9idGVuZXIgZGF0b3MgZGVsIGNsaW1hIGRlbCBtZXMgZGUgZmVicmVybyBlbiBzYWx0aWxsbwpjbGltYV9zYWx0aWxsb19mZWIgPC0gc3Vic2V0KGNsaW1hX3NhbHRpbGxvLCB2YWxpZCA+PSBhcy5QT1NJWGN0KCIyMDI0LTAyLTAxIDAwOjAwIikgJiB2YWxpZCA8PSBhcy5QT1NJWGN0KCIyMDI0LTAyLTI5IDIzOjU5IikpCgojIHByb21lZGlhciBpbmZvcm1hY2nDs24gcG9yIGTDrWEKY2xpbWFfZGlhcmlvIDwtIGNsaW1hX3NhbHRpbGxvX2ZlYiAlPiUKICBtdXRhdGUoZGF0ZSA9IHltZF9obXModmFsaWQpLCBkYXRlPSBhcy5EYXRlKGRhdGUpKSAlPiUKICBncm91cF9ieShkYXRlKSU+JQogIHN1bW1hcml6ZV9pZihpcy5udW1lcmljLCB+IG1lYW4oLiwgbmEucm0gPSBUUlVFKSkKdGliYmxlKGNsaW1hX2RpYXJpbykKCiMgY29udmVydGlyIGZhcmVuaGVpdCBhIGNlbnRpZ3JhZG9zIApjbGltYV9jZW50aWdyYWRvcyA8LSBjbGltYV9kaWFyaW8KY2xpbWFfY2VudGlncmFkb3MkdG1wZiA8LSAoY2xpbWFfY2VudGlncmFkb3MkdG1wZi0zMikvMS44CnN0cihjbGltYV9jZW50aWdyYWRvcykKCiNncsOhZmljYQpwbG90KGNsaW1hX2RpYXJpbyRkYXRlLCBjbGltYV9jZW50aWdyYWRvcyR0bXBmLHR5cGU9ImwiLG1haW49IlRlbXBlcmF0dXJhIChDwrApIFByb21lZGlvIHBvciBkw61hIGVuIFNhbHRpbGxvIGR1cmFudGUgRmVicmVybyIsIHhsYWIgPSAiRmVjaGEiLCB5bGFiID0gIlRlbXBlcmF0dXJhIChDwrApIikKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogIzUyOEI4QjsiPkNvbmNsdXNpw7NuPC9zcGFuPgoKRWwgZWplcmNpY2lvIGNvbWllbnphIGV4cGxpY2FuZG8gbGEgZnVlbnRlIGRlIGxvcyBkYXRvcyBjbGltw6F0aWNvcyB1dGlsaXphZG9zLCBwcm92ZW5pZW50ZXMgZGVsIHNpc3RlbWEgQVNPUyB1YmljYWRvIGVuIGFlcm9wdWVydG9zIGRlIHRvZG8gZWwgbXVuZG8uIEVsIHVzbyBkZSBSIHkgcGFxdWV0ZXMgZXNwZWNpYWxpemFkb3MgY29tbyAqKiJyaW0iKiogeSAqKiJ0aWR5dmVyc2UiKiogcGVybWl0ZSBhY2NlZGVyIGEgZGF0b3MgY2xpbcOhdGljb3MgZGUgbWFuZXJhIGVmaWNpZW50ZSB5IHJlYWxpemFyIGFuw6FsaXNpcyBkZXRhbGxhZG9zIHBhcmEgY29tcHJlbmRlciBtZWpvciBsYXMgY29uZGljaW9uZXMgY2xpbcOhdGljYXMuIAoKU2UgbXVlc3RyYSBjb21vIGluc3RhbGFyIHkgY2FyZ2FyIHBhcXVldGVyw61hcyBuZWNlc2FyaWFzIHBhcmEgZWwgYW7DoWxpc2lzIGRlIGRhdG9zIGNsaW3DoXRpY29zLCBhc8OtIGNvbW8gbGEgb2J0ZW5jacOzbiB5IG1hbmlwdWxhY2nDs24gZGUgbG9zIGRhdG9zIGVzcGVjw61maWNvcyBkZSBNb250ZXJyZXkgeSBTYWx0aWxsbyBkdXJhbnRlIEZlYnJlcm8gZGUgMjAyNC4gU2UgdXRpbGl6YW4gdMOpY25pY2FzIGRlIGZpbHRyYWRvIHkgYWdyZWdhY2nDs24gcGFyYSB2aXN1YWxpemFyIGxhIGh1bWVkYWQgcmVsYXRpdmEgeSBsYSB0ZW1wZXJhdHVyYSBwcm9tZWRpbyBkaWFyaWEuIAoKRW4gY29uY2x1c2nDs24sIGVsIGFuw6FsaXNpcyBkZSBsYSBodW1lZGFkIHJlbGF0aXZhIHkgdGVtcGVyYXR1cmEgcHJvbWVkaW8gZGlhcmlhIHByb3BvcmNpb25hIGluZm9ybWFjacOzbiDDunRpbCBwYXJhIGNvbXByZW5kZXIgbGFzIGNvbmRpY2lvbmVzIGNsaW3DoXRpY2FzIGVuIE1vbnRlcnJleSB5IFNhbHRpbGxvLCBlc3RvIGRlbXVlc3RyYSBlbCBwb3RlbmNpYWwgZGUgUiBlbiBlbCBjYW1wbyBkZSBhbsOhbGlzaXMgY2xpbcOhdGljbyB5IGxhIHRvbWEgZGUgZGVjaXNpb25lcyBiYXNhZGFzIGVuIGRhdG9zLiA=