
Instalar paquetes y llamar librerias
#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 (pais) Ejemplo: Mexico. Y copiar CODE
view(riem_networks())
Paso 3. Buscar la estacion (ciudad) Ejemplo: Monterrey y copiar el
ID
view(riem_stations("MX__ASOS"))
Paso 5. Agregar temperatura en grados centigrados
monterrey$tmpc <- (monterrey$tmpf - 32)/1.8
str(monterrey)
## tibble [82,340 × 33] (S3: tbl_df/tbl/data.frame)
## $ station : chr [1:82340] "MMMY" "MMMY" "MMMY" "MMMY" ...
## $ valid : POSIXct[1:82340], format: "2014-01-01 00:16:00" "2014-01-01 00:49:00" ...
## $ lon : num [1:82340] -100 -100 -100 -100 -100 ...
## $ lat : num [1:82340] 25.8 25.8 25.8 25.8 25.8 ...
## $ tmpf : num [1:82340] 48.2 48.2 48.2 46.4 46.4 46.4 46.4 46.4 46.4 46.4 ...
## $ dwpf : num [1:82340] 46.4 46.4 46.4 46.4 46.4 44.6 44.6 44.6 44.6 44.6 ...
## $ relh : num [1:82340] 93.5 93.5 93.5 100 100 ...
## $ drct : num [1:82340] 0 120 120 120 110 100 110 130 60 0 ...
## $ sknt : num [1:82340] 0 3 5 6 5 5 4 3 3 0 ...
## $ p01i : num [1:82340] 0 0 0 0 0 0 0 0 0 0 ...
## $ alti : num [1:82340] 30.3 30.3 30.3 30.3 30.3 ...
## $ mslp : num [1:82340] NA NA NA NA NA ...
## $ vsby : num [1:82340] 4 3 1 0.25 0.12 0.12 0.06 0.06 0.06 0.12 ...
## $ gust : num [1:82340] NA NA NA NA NA NA NA NA NA NA ...
## $ skyc1 : chr [1:82340] "SCT" "SCT" "SCT" "VV " ...
## $ skyc2 : chr [1:82340] "BKN" "BKN" "BKN" NA ...
## $ skyc3 : chr [1:82340] "OVC" "OVC" "OVC" NA ...
## $ skyc4 : chr [1:82340] NA NA NA NA ...
## $ skyl1 : num [1:82340] 700 300 200 200 100 100 100 100 100 100 ...
## $ skyl2 : num [1:82340] 1200 400 300 NA NA NA NA NA NA NA ...
## $ skyl3 : num [1:82340] 4000 900 500 NA NA NA NA NA NA NA ...
## $ skyl4 : num [1:82340] NA NA NA NA NA NA NA NA NA NA ...
## $ wxcodes : chr [1:82340] NA "BR" "BR" "FG" ...
## $ ice_accretion_1hr: logi [1:82340] NA NA NA NA NA NA ...
## $ ice_accretion_3hr: logi [1:82340] NA NA NA NA NA NA ...
## $ ice_accretion_6hr: logi [1:82340] NA NA NA NA NA NA ...
## $ peak_wind_gust : logi [1:82340] NA NA NA NA NA NA ...
## $ peak_wind_drct : logi [1:82340] NA NA NA NA NA NA ...
## $ peak_wind_time : logi [1:82340] NA NA NA NA NA NA ...
## $ feel : num [1:82340] 48.2 47.2 45.6 42.9 43.5 ...
## $ metar : chr [1:82340] "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:82340] NA NA NA NA NA NA ...
## $ tmpc : num [1:82340] 9 9 9 8 8 8 8 8 8 8 ...
Paso 7. Graficar temperatura en 2023
plot(este_año$valid,este_año$tmpc)

Paso 9. Graficar temperatura en 2023
plot(este_año$date,este_año$tmpc, type = "l", main = "Temperatura Promedio en Monterrey", xlab = "Fecha", ylab = "Grados Centigrados")

LS0tCnRpdGxlOiAiT2J0ZW5jacOzbiBkZSBEYXRvcyBkZSBDbGltYSIKQXV0aG9yOiAiTWFyY2VsbyBUYW0gQXJpY2EgLSBBMDE3MjIxNDAiCmRhdGU6ICIyMDIzLTAzLTEwIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQoKIVtdKC9Vc2Vycy9tYXJjZWxvdGFtL0Rlc2t0b3AvbWFuaXB1bGFjaW9uIGRlIGRhdG9zL2Fzb3N3YXRoZXJSLnBuZykKCiMgSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygicmllbSIpCmxpYnJhcnkocmllbSkKI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpCmxpYnJhcnkodGlkeXZlcnNlKQojaW5zdGFsbC5wYWNrYWdlcygibHVicmlkYXRlIikKbGlicmFyeShsdWJyaWRhdGUpCiNpbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikKbGlicmFyeShnZ3Bsb3QyKQojaW5zdGFsbC5wYWNrYWdlcygicGxvdGx5IikKbGlicmFyeShwbG90bHkpCmBgYAoKIyBQYXNvIDIuIEJ1c2NhciBsYSByZWQgKHBhaXMpIEVqZW1wbG86IE1leGljby4gWSBjb3BpYXIgQ09ERQpgYGB7cn0KdmlldyhyaWVtX25ldHdvcmtzKCkpIApgYGAKCiMgUGFzbyAzLiBCdXNjYXIgbGEgZXN0YWNpb24gKGNpdWRhZCkgRWplbXBsbzogTW9udGVycmV5IHkgY29waWFyIGVsIElECmBgYHtyfQp2aWV3KHJpZW1fc3RhdGlvbnMoIk1YX19BU09TIikpCmBgYAoKIyBQYXNvIDQuIE9idGVuZXIgaW5mb3JtYWNpb24KYGBge3J9Cm1vbnRlcnJleSA8LSByaWVtX21lYXN1cmVzKCJNTU1ZIikKc3RyKG1vbnRlcnJleSkKYGBgCgojIFBhc28gNS4gQWdyZWdhciB0ZW1wZXJhdHVyYSBlbiBncmFkb3MgY2VudGlncmFkb3MKYGBge3J9Cm1vbnRlcnJleSR0bXBjIDwtIChtb250ZXJyZXkkdG1wZiAtIDMyKS8xLjgKc3RyKG1vbnRlcnJleSkKYGBgCgojIFBhc28gNi4gRmlsdHJhciBpbmZvcm1hY2lvbiAtIEVqZW1wbG8gYSBNYXJ6byAyMDIzCmBgYHtyfQplc3RlX2HDsW8gPC0gc3Vic2V0KG1vbnRlcnJleSwgdmFsaWQgPj0gYXMuUE9TSVhjdCgiMjAyMy0wMS0wMSAwOjAwIikgJiB2YWxpZCA8PSBhcy5QT1NJWGN0KCIyMDIzLTAzLTEwIDA3OjAwIikpCmBgYAoKIyBQYXNvIDcuIEdyYWZpY2FyIHRlbXBlcmF0dXJhIGVuIDIwMjMKYGBge3J9CnBsb3QoZXN0ZV9hw7FvJHZhbGlkLGVzdGVfYcOxbyR0bXBjKQpgYGAKCiMgUGFzbyA4LiBQcm9tZWRpYXIgaW5mb3JtYWNpb24gcG9yIGRpYQpgYGB7cn0KZXN0ZV9hw7FvIDwtIGVzdGVfYcOxbyAlPiUKICBtdXRhdGUoZGF0ZT15bWRfaG1zKHZhbGlkKSwgZGF0ZSA9IGFzLkRhdGUoZGF0ZSkpICU+JQogIGdyb3VwX2J5KGRhdGUpICU+JQogIHN1bW1hcml6ZV9pZihpcy5udW1lcmljLCB+bWVhbiguLG5hLnJtID0gVFJVRSkpCmBgYAoKIyBQYXNvIDkuIEdyYWZpY2FyIHRlbXBlcmF0dXJhIGVuIDIwMjMKYGBge3J9CnBsb3QoZXN0ZV9hw7FvJGRhdGUsZXN0ZV9hw7FvJHRtcGMsIHR5cGUgPSAibCIsIG1haW4gPSAiVGVtcGVyYXR1cmEgUHJvbWVkaW8gZW4gTW9udGVycmV5IiwgeGxhYiA9ICJGZWNoYSIsIHlsYWIgPSAiR3JhZG9zIENlbnRpZ3JhZG9zIikKYGBgCg==