Paso 1. Instalar paquetes

#install.packages("riem")
library(riem)
#install.packages("tidyverse")
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.0     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.1     ✔ tibble    3.1.8
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
#install.packages("lubridate")
library(lubridate)
#install.packages("ggplot2")
library(ggplot2)
#install.packages("plotly")
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 2. Buscar la red (país) Ejemplo: México. Y copiar code

#view(riem_networks())

Paso 3. Buscar la estación (ciudad) Ejemplo: Monterrey. Y copiar ID

#view(riem_stations("MX__ASOS"))

Paso 4. Obtener información

monterrey<-riem_measures("MMMY")
str(monterrey)
## tibble [82,440 × 32] (S3: tbl_df/tbl/data.frame)
##  $ station          : chr [1:82440] "MMMY" "MMMY" "MMMY" "MMMY" ...
##  $ valid            : POSIXct[1:82440], format: "2014-01-01 00:16:00" "2014-01-01 00:49:00" ...
##  $ lon              : num [1:82440] -100 -100 -100 -100 -100 ...
##  $ lat              : num [1:82440] 25.8 25.8 25.8 25.8 25.8 ...
##  $ tmpf             : num [1:82440] 48.2 48.2 48.2 46.4 46.4 46.4 46.4 46.4 46.4 46.4 ...
##  $ dwpf             : num [1:82440] 46.4 46.4 46.4 46.4 46.4 44.6 44.6 44.6 44.6 44.6 ...
##  $ relh             : num [1:82440] 93.5 93.5 93.5 100 100 ...
##  $ drct             : num [1:82440] 0 120 120 120 110 100 110 130 60 0 ...
##  $ sknt             : num [1:82440] 0 3 5 6 5 5 4 3 3 0 ...
##  $ p01i             : num [1:82440] 0 0 0 0 0 0 0 0 0 0 ...
##  $ alti             : num [1:82440] 30.3 30.3 30.3 30.3 30.3 ...
##  $ mslp             : num [1:82440] NA NA NA NA NA ...
##  $ vsby             : num [1:82440] 4 3 1 0.25 0.12 0.12 0.06 0.06 0.06 0.12 ...
##  $ gust             : num [1:82440] NA NA NA NA NA NA NA NA NA NA ...
##  $ skyc1            : chr [1:82440] "SCT" "SCT" "SCT" "VV " ...
##  $ skyc2            : chr [1:82440] "BKN" "BKN" "BKN" NA ...
##  $ skyc3            : chr [1:82440] "OVC" "OVC" "OVC" NA ...
##  $ skyc4            : chr [1:82440] NA NA NA NA ...
##  $ skyl1            : num [1:82440] 700 300 200 200 100 100 100 100 100 100 ...
##  $ skyl2            : num [1:82440] 1200 400 300 NA NA NA NA NA NA NA ...
##  $ skyl3            : num [1:82440] 4000 900 500 NA NA NA NA NA NA NA ...
##  $ skyl4            : num [1:82440] NA NA NA NA NA NA NA NA NA NA ...
##  $ wxcodes          : chr [1:82440] NA "BR" "BR" "FG" ...
##  $ ice_accretion_1hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ ice_accretion_3hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ ice_accretion_6hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_gust   : logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_drct   : logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_time   : logi [1:82440] NA NA NA NA NA NA ...
##  $ feel             : num [1:82440] 48.2 47.2 45.6 42.9 43.5 ...
##  $ metar            : chr [1:82440] "MMMY 010016Z 00000KT 4SM SCT007 BKN012 OVC040 09/08 A3028 RMK 8/5// BR" "MMMY 010049Z 12003KT 3SM BR SCT003 BKN004 OVC009 09/08 A3028 RMK 8/5// -DZ OCNL" "MMMY 010116Z 12005KT 1SM BR SCT002 BKN003 OVC005 09/08 A3028 RMK 8/6// -DZ OCNL" "MMMY 010120Z 12006KT 1/4SM FG VV002 08/08 A3029 RMK 8//// BC FG MOV SE/NW" ...
##  $ snowdepth        : logi [1:82440] NA NA NA NA NA NA ...

Paso 5. Agregar temperatura en grados centígrados

monterrey$tmpc<-(monterrey$tmpf-32)/1.8
str(monterrey)
## tibble [82,440 × 33] (S3: tbl_df/tbl/data.frame)
##  $ station          : chr [1:82440] "MMMY" "MMMY" "MMMY" "MMMY" ...
##  $ valid            : POSIXct[1:82440], format: "2014-01-01 00:16:00" "2014-01-01 00:49:00" ...
##  $ lon              : num [1:82440] -100 -100 -100 -100 -100 ...
##  $ lat              : num [1:82440] 25.8 25.8 25.8 25.8 25.8 ...
##  $ tmpf             : num [1:82440] 48.2 48.2 48.2 46.4 46.4 46.4 46.4 46.4 46.4 46.4 ...
##  $ dwpf             : num [1:82440] 46.4 46.4 46.4 46.4 46.4 44.6 44.6 44.6 44.6 44.6 ...
##  $ relh             : num [1:82440] 93.5 93.5 93.5 100 100 ...
##  $ drct             : num [1:82440] 0 120 120 120 110 100 110 130 60 0 ...
##  $ sknt             : num [1:82440] 0 3 5 6 5 5 4 3 3 0 ...
##  $ p01i             : num [1:82440] 0 0 0 0 0 0 0 0 0 0 ...
##  $ alti             : num [1:82440] 30.3 30.3 30.3 30.3 30.3 ...
##  $ mslp             : num [1:82440] NA NA NA NA NA ...
##  $ vsby             : num [1:82440] 4 3 1 0.25 0.12 0.12 0.06 0.06 0.06 0.12 ...
##  $ gust             : num [1:82440] NA NA NA NA NA NA NA NA NA NA ...
##  $ skyc1            : chr [1:82440] "SCT" "SCT" "SCT" "VV " ...
##  $ skyc2            : chr [1:82440] "BKN" "BKN" "BKN" NA ...
##  $ skyc3            : chr [1:82440] "OVC" "OVC" "OVC" NA ...
##  $ skyc4            : chr [1:82440] NA NA NA NA ...
##  $ skyl1            : num [1:82440] 700 300 200 200 100 100 100 100 100 100 ...
##  $ skyl2            : num [1:82440] 1200 400 300 NA NA NA NA NA NA NA ...
##  $ skyl3            : num [1:82440] 4000 900 500 NA NA NA NA NA NA NA ...
##  $ skyl4            : num [1:82440] NA NA NA NA NA NA NA NA NA NA ...
##  $ wxcodes          : chr [1:82440] NA "BR" "BR" "FG" ...
##  $ ice_accretion_1hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ ice_accretion_3hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ ice_accretion_6hr: logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_gust   : logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_drct   : logi [1:82440] NA NA NA NA NA NA ...
##  $ peak_wind_time   : logi [1:82440] NA NA NA NA NA NA ...
##  $ feel             : num [1:82440] 48.2 47.2 45.6 42.9 43.5 ...
##  $ metar            : chr [1:82440] "MMMY 010016Z 00000KT 4SM SCT007 BKN012 OVC040 09/08 A3028 RMK 8/5// BR" "MMMY 010049Z 12003KT 3SM BR SCT003 BKN004 OVC009 09/08 A3028 RMK 8/5// -DZ OCNL" "MMMY 010116Z 12005KT 1SM BR SCT002 BKN003 OVC005 09/08 A3028 RMK 8/6// -DZ OCNL" "MMMY 010120Z 12006KT 1/4SM FG VV002 08/08 A3029 RMK 8//// BC FG MOV SE/NW" ...
##  $ snowdepth        : logi [1:82440] NA NA NA NA NA NA ...
##  $ tmpc             : num [1:82440] 9 9 9 8 8 8 8 8 8 8 ...
summary(monterrey)
##    station              valid                            lon        
##  Length:82440       Min.   :2014-01-01 00:16:00.0   Min.   :-100.1  
##  Class :character   1st Qu.:2016-04-24 20:26:30.0   1st Qu.:-100.1  
##  Mode  :character   Median :2018-08-07 09:15:30.0   Median :-100.1  
##                     Mean   :2018-08-10 21:33:08.9   Mean   :-100.1  
##                     3rd Qu.:2020-11-19 01:55:00.0   3rd Qu.:-100.1  
##                     Max.   :2023-03-20 23:40:00.0   Max.   :-100.1  
##                                                                     
##       lat             tmpf             dwpf            relh       
##  Min.   :25.78   Min.   : 23.00   Min.   :-5.80   Min.   :  2.32  
##  1st Qu.:25.78   1st Qu.: 64.40   1st Qu.:50.00   1st Qu.: 47.79  
##  Median :25.78   Median : 73.40   Median :60.80   Median : 68.94  
##  Mean   :25.78   Mean   : 72.14   Mean   :57.59   Mean   : 65.05  
##  3rd Qu.:25.78   3rd Qu.: 80.60   3rd Qu.:68.00   3rd Qu.: 83.32  
##  Max.   :25.78   Max.   :111.20   Max.   :86.00   Max.   :100.00  
##                  NA's   :101      NA's   :1698    NA's   :1743    
##       drct            sknt           p01i        alti            mslp       
##  Min.   :  0.0   Min.   : 0.0   Min.   :0   Min.   : 0.04   Min.   : 913.2  
##  1st Qu.: 70.0   1st Qu.: 4.0   1st Qu.:0   1st Qu.:29.88   1st Qu.:1011.4  
##  Median :110.0   Median : 5.0   Median :0   Median :29.97   Median :1014.5  
##  Mean   :131.7   Mean   : 5.8   Mean   :0   Mean   :29.98   Mean   :1015.3  
##  3rd Qu.:160.0   3rd Qu.: 8.0   3rd Qu.:0   3rd Qu.:30.08   3rd Qu.:1018.4  
##  Max.   :360.0   Max.   :98.0   Max.   :0   Max.   :30.81   Max.   :1103.4  
##  NA's   :72      NA's   :72                 NA's   :26      NA's   :71440   
##       vsby            gust           skyc1              skyc2          
##  Min.   : 0.00   Min.   : 13.00   Length:82440       Length:82440      
##  1st Qu.: 6.00   1st Qu.: 20.00   Class :character   Class :character  
##  Median :10.00   Median : 24.00   Mode  :character   Mode  :character  
##  Mean   : 9.11   Mean   : 24.64                                        
##  3rd Qu.:12.00   3rd Qu.: 28.00                                        
##  Max.   :40.00   Max.   :210.00                                        
##  NA's   :31      NA's   :79848                                         
##     skyc3              skyc4               skyl1           skyl2      
##  Length:82440       Length:82440       Min.   :    0   Min.   :    0  
##  Class :character   Class :character   1st Qu.: 1500   1st Qu.: 2000  
##  Mode  :character   Mode  :character   Median : 3000   Median : 6000  
##                                        Mean   : 5367   Mean   : 7968  
##                                        3rd Qu.: 7000   3rd Qu.:10000  
##                                        Max.   :37000   Max.   :30000  
##                                        NA's   :24872   NA's   :55311  
##      skyl3           skyl4         wxcodes          ice_accretion_1hr
##  Min.   :  400   Min.   : 3000   Length:82440       Mode:logical     
##  1st Qu.: 8000   1st Qu.:20000   Class :character   NA's:82440       
##  Median :15000   Median :20000   Mode  :character                    
##  Mean   :14735   Mean   :20656                                       
##  3rd Qu.:20000   3rd Qu.:25000                                       
##  Max.   :30000   Max.   :25000                                       
##  NA's   :77669   NA's   :82245                                       
##  ice_accretion_3hr ice_accretion_6hr peak_wind_gust peak_wind_drct
##  Mode:logical      Mode:logical      Mode:logical   Mode:logical  
##  NA's:82440        NA's:82440        NA's:82440     NA's:82440    
##                                                                   
##                                                                   
##                                                                   
##                                                                   
##                                                                   
##  peak_wind_time      feel           metar           snowdepth     
##  Mode:logical   Min.   :  9.11   Length:82440       Mode:logical  
##  NA's:82440     1st Qu.: 64.40   Class :character   NA's:82440    
##                 Median : 73.40   Mode  :character                 
##                 Mean   : 72.75                                    
##                 3rd Qu.: 82.90                                    
##                 Max.   :131.06                                    
##                 NA's   :1746                                      
##       tmpc     
##  Min.   :-5.0  
##  1st Qu.:18.0  
##  Median :23.0  
##  Mean   :22.3  
##  3rd Qu.:27.0  
##  Max.   :44.0  
##  NA's   :101

Paso 6. Filtrar la información - Ejemplo: de Enero a Marzo 2023

este_año<-subset(monterrey,valid>=as.POSIXct("2023-01-01 00:00")&valid<=as.POSIXct("2023-03-10 07:00"))
summary(este_año)
##    station              valid                             lon        
##  Length:1659        Min.   :2023-01-01 06:40:00.00   Min.   :-100.1  
##  Class :character   1st Qu.:2023-01-18 03:11:00.00   1st Qu.:-100.1  
##  Mode  :character   Median :2023-02-03 21:40:00.00   Median :-100.1  
##                     Mean   :2023-02-04 02:30:47.77   Mean   :-100.1  
##                     3rd Qu.:2023-02-21 04:10:00.00   3rd Qu.:-100.1  
##                     Max.   :2023-03-10 12:40:00.00   Max.   :-100.1  
##                                                                      
##       lat             tmpf             dwpf            relh       
##  Min.   :25.78   Min.   : 39.20   Min.   : 8.60   Min.   :  6.80  
##  1st Qu.:25.78   1st Qu.: 57.20   1st Qu.:35.60   1st Qu.: 31.90  
##  Median :25.78   Median : 66.20   Median :46.40   Median : 50.43  
##  Mean   :25.78   Mean   : 66.05   Mean   :44.97   Mean   : 53.47  
##  3rd Qu.:25.78   3rd Qu.: 75.20   3rd Qu.:55.40   3rd Qu.: 72.74  
##  Max.   :25.78   Max.   :102.20   Max.   :68.00   Max.   :100.00  
##                                                                   
##       drct            sknt             p01i        alti            mslp     
##  Min.   :  0.0   Min.   : 0.000   Min.   :0   Min.   :29.38   Min.   : NA   
##  1st Qu.: 80.0   1st Qu.: 4.000   1st Qu.:0   1st Qu.:29.85   1st Qu.: NA   
##  Median :120.0   Median : 6.000   Median :0   Median :30.00   Median : NA   
##  Mean   :153.5   Mean   : 6.005   Mean   :0   Mean   :30.01   Mean   :NaN   
##  3rd Qu.:280.0   3rd Qu.: 8.000   3rd Qu.:0   3rd Qu.:30.16   3rd Qu.: NA   
##  Max.   :360.0   Max.   :24.000   Max.   :0   Max.   :30.54   Max.   : NA   
##                                                               NA's   :1659  
##       vsby             gust          skyc1              skyc2          
##  Min.   : 1.000   Min.   :14.00   Length:1659        Length:1659       
##  1st Qu.: 8.000   1st Qu.:20.00   Class :character   Class :character  
##  Median :10.000   Median :24.00   Mode  :character   Mode  :character  
##  Mean   : 9.801   Mean   :24.33                                        
##  3rd Qu.:12.000   3rd Qu.:28.00                                        
##  Max.   :15.000   Max.   :41.00                                        
##                   NA's   :1599                                         
##     skyc3              skyc4               skyl1           skyl2      
##  Length:1659        Length:1659        Min.   :  300   Min.   :  500  
##  Class :character   Class :character   1st Qu.: 2000   1st Qu.: 2000  
##  Mode  :character   Mode  :character   Median : 5000   Median : 8000  
##                                        Mean   : 8142   Mean   :11140  
##                                        3rd Qu.:10500   3rd Qu.:20000  
##                                        Max.   :25000   Max.   :25000  
##                                        NA's   :819     NA's   :1467   
##      skyl3          skyl4        wxcodes          ice_accretion_1hr
##  Min.   :1300   Min.   : NA    Length:1659        Mode:logical     
##  1st Qu.:1300   1st Qu.: NA    Class :character   NA's:1659        
##  Median :1300   Median : NA    Mode  :character                    
##  Mean   :1300   Mean   :NaN                                        
##  3rd Qu.:1300   3rd Qu.: NA                                        
##  Max.   :1300   Max.   : NA                                        
##  NA's   :1658   NA's   :1659                                       
##  ice_accretion_3hr ice_accretion_6hr peak_wind_gust peak_wind_drct
##  Mode:logical      Mode:logical      Mode:logical   Mode:logical  
##  NA's:1659         NA's:1659         NA's:1659      NA's:1659     
##                                                                   
##                                                                   
##                                                                   
##                                                                   
##                                                                   
##  peak_wind_time      feel          metar           snowdepth     
##  Mode:logical   Min.   :32.47   Length:1659        Mode:logical  
##  NA's:1659      1st Qu.:57.20   Class :character   NA's:1659     
##                 Median :66.20   Mode  :character                 
##                 Mean   :65.52                                    
##                 3rd Qu.:75.20                                    
##                 Max.   :99.80                                    
##                                                                  
##       tmpc      
##  Min.   : 4.00  
##  1st Qu.:14.00  
##  Median :19.00  
##  Mean   :18.91  
##  3rd Qu.:24.00  
##  Max.   :39.00  
## 

Paso 7. Graficar temperatura en 2023

plot(este_año$valid,este_año$tmpc)

Paso 8. Promedia información por día

este_año<-este_año%>%
  mutate(date=ymd_hms(valid),date=as.Date(date))%>%
  group_by(date)%>%
  summarize_if(is.numeric,~mean(.,na.rm=TRUE))

Paso 9. Graficar temperatura en 2023

plot(este_año$date,este_año$tmpc,type="l",main="Temperatura Promedio en Monterret",xlab="Fecha",ylab="Grados centígrados")

LS0tDQp0aXRsZTogIjcuIENsaW1hIg0KYXV0aG9yOiAiRGFuaWVsIEZhcsOtYXMgfCBBMDEyMzYzMjciDQpkYXRlOiAiMjAyMy0wMy0xMCINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQoNCiFbXShDOlxVc2Vyc1xEYW5pZWwgRmFyaWFzXERvY3VtZW50c1xCdXNpbmVzcyBJbnRlbGxpZ2VuY2VcQ3VhcnRvIFNlbWVzdHJlXE1hbmlwdWxhY2nDs24gZGUgRGF0b3NcQ2xpbWEucG5nKQ0KDQojIyBQYXNvIDEuIEluc3RhbGFyIHBhcXVldGVzICANCmBgYHtyfQ0KI2luc3RhbGwucGFja2FnZXMoInJpZW0iKQ0KbGlicmFyeShyaWVtKQ0KI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCiNpbnN0YWxsLnBhY2thZ2VzKCJsdWJyaWRhdGUiKQ0KbGlicmFyeShsdWJyaWRhdGUpDQojaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQpsaWJyYXJ5KGdncGxvdDIpDQojaW5zdGFsbC5wYWNrYWdlcygicGxvdGx5IikNCmxpYnJhcnkocGxvdGx5KQ0KYGBgDQoNCiMjIFBhc28gMi4gQnVzY2FyIGxhIHJlZCAocGHDrXMpIEVqZW1wbG86IE3DqXhpY28uIFkgY29waWFyIGNvZGUgIA0KYGBge3J9DQojdmlldyhyaWVtX25ldHdvcmtzKCkpDQpgYGANCg0KIyMgUGFzbyAzLiBCdXNjYXIgbGEgZXN0YWNpw7NuIChjaXVkYWQpIEVqZW1wbG86IE1vbnRlcnJleS4gWSBjb3BpYXIgSUQgIA0KYGBge3J9DQojdmlldyhyaWVtX3N0YXRpb25zKCJNWF9fQVNPUyIpKQ0KYGBgDQoNCiMjIFBhc28gNC4gT2J0ZW5lciBpbmZvcm1hY2nDs24gIA0KYGBge3J9DQptb250ZXJyZXk8LXJpZW1fbWVhc3VyZXMoIk1NTVkiKQ0Kc3RyKG1vbnRlcnJleSkNCmBgYA0KDQojIyBQYXNvIDUuIEFncmVnYXIgdGVtcGVyYXR1cmEgZW4gZ3JhZG9zIGNlbnTDrWdyYWRvcyAgDQpgYGB7cn0NCm1vbnRlcnJleSR0bXBjPC0obW9udGVycmV5JHRtcGYtMzIpLzEuOA0Kc3RyKG1vbnRlcnJleSkNCnN1bW1hcnkobW9udGVycmV5KQ0KYGBgDQoNCiMjIFBhc28gNi4gRmlsdHJhciBsYSBpbmZvcm1hY2nDs24gLSBFamVtcGxvOiBkZSBFbmVybyBhIE1hcnpvIDIwMjMgIA0KYGBge3J9DQplc3RlX2HDsW88LXN1YnNldChtb250ZXJyZXksdmFsaWQ+PWFzLlBPU0lYY3QoIjIwMjMtMDEtMDEgMDA6MDAiKSZ2YWxpZDw9YXMuUE9TSVhjdCgiMjAyMy0wMy0xMCAwNzowMCIpKQ0Kc3VtbWFyeShlc3RlX2HDsW8pDQpgYGANCg0KIyMgUGFzbyA3LiBHcmFmaWNhciB0ZW1wZXJhdHVyYSBlbiAyMDIzICANCmBgYHtyfQ0KcGxvdChlc3RlX2HDsW8kdmFsaWQsZXN0ZV9hw7FvJHRtcGMpDQpgYGANCg0KIyMgUGFzbyA4LiBQcm9tZWRpYSBpbmZvcm1hY2nDs24gcG9yIGTDrWEgIA0KYGBge3J9DQplc3RlX2HDsW88LWVzdGVfYcOxbyU+JQ0KICBtdXRhdGUoZGF0ZT15bWRfaG1zKHZhbGlkKSxkYXRlPWFzLkRhdGUoZGF0ZSkpJT4lDQogIGdyb3VwX2J5KGRhdGUpJT4lDQogIHN1bW1hcml6ZV9pZihpcy5udW1lcmljLH5tZWFuKC4sbmEucm09VFJVRSkpDQpgYGANCg0KIyMgUGFzbyA5LiBHcmFmaWNhciB0ZW1wZXJhdHVyYSBlbiAyMDIzICANCmBgYHtyfQ0KcGxvdChlc3RlX2HDsW8kZGF0ZSxlc3RlX2HDsW8kdG1wYyx0eXBlPSJsIixtYWluPSJUZW1wZXJhdHVyYSBQcm9tZWRpbyBlbiBNb250ZXJyZXQiLHhsYWI9IkZlY2hhIix5bGFiPSJHcmFkb3MgY2VudMOtZ3JhZG9zIikNCmBgYA0KDQoNCg0K