library(tidyverse)
library(nycflights13)
library(lubridate)
library(tidyquant)
En la base de datos flights
las variables
dep_time
, arr_time
,
sched_dep_time
y sched_arr_time
contienen las
horas en format de tres o cuatro dÃgitos. AsÃ, 830 son las 8 y media de
la mañana y 2030 las ocho y media de la tarde. Una posbilidad para
extraer la hora y los minutos de estas fechas es la siguiente:
time <- 2030
hora <- time%/%100
minutos <- time%%100
print(hora)
## [1] 20
print(minutos)
## [1] 30
Entiende y describe el funcionamiento de estas lÃneas de código. Crea
un dataframe llamado flights_dt
en el que las variables
dep_time
, arr_time
,
sched_dep_time
y sched_arr_time
contengan las
fechas exactas a las que se refieren en formato
datetime
.
Visualiza la distribución de vuelos según el dÃa de la semana en el que despegan. ¿Qué conclusión extraes?
Visualiza la distribución de vuelos según el minuto en el que despegan. ¿Qué patrón aparece? ¿Cómo lo explicarÃas?
Crea una nueva variable que corresponda a la diferencia entre
arr_time
y dep_time
. Visualiza la covariación
entre esta variable y air_time
. ¿Qué observas? ¿Qué está
sucediendo?
Repite la visualización anterior, pero usando un color diferente para cada zona horaria del aeropuerto de destino. ¿Qué observas?
Pista: la zona horaria de los diferentes aeropuertos
está en la base de datos airport
y se llama
tzone
.
La librarÃa tidyquant
se puede utilizar para importar a
R infinidad de datos económicos. En particular, se puede usar para
importar datos sobre el precio de diferentes acciones.
Extraer el histórico de precios de AMZN desde el año 2000 es muy sencillo:
prices <- tq_get("AMZN", get = "stock.prices", from = " 2000-01-01")
prices
## # A tibble: 5,756 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AMZN 2000-01-03 4.08 4.48 3.95 4.47 322352000 4.47
## 2 AMZN 2000-01-04 4.27 4.58 4.09 4.10 349748000 4.10
## 3 AMZN 2000-01-05 3.52 3.76 3.4 3.49 769148000 3.49
## 4 AMZN 2000-01-06 3.57 3.63 3.2 3.28 375040000 3.28
## 5 AMZN 2000-01-07 3.35 3.52 3.31 3.48 210108000 3.48
## 6 AMZN 2000-01-10 3.63 3.63 3.28 3.46 295158000 3.46
## 7 AMZN 2000-01-11 3.34 3.5 3.25 3.34 210654000 3.34
## 8 AMZN 2000-01-12 3.39 3.4 3.15 3.18 216090000 3.18
## 9 AMZN 2000-01-13 3.25 3.36 3.16 3.30 208962000 3.30
## 10 AMZN 2000-01-14 3.34 3.43 3.2 3.21 137072000 3.21
## # … with 5,746 more rows
Crea una visualización para que permita estudiar la variación del precio de apertura de la acción de AMZN en el tiempo. ¿En qué fechas se alcazan precios de apertura máximos y mÃnimos?
Al inicio de la pandemia, a causa de la cuarentena obligatoria establecida por numerosos paÃses, las expectativas del mercado sobre Amazon se dispararon. Imagina que hubiéses comprado acciones de Amazon el dÃa 2 de Marzo de 2020 por un valor de 5000 euros. Calcula las ganancias netas obtenidas si hubieses vendido esas acciones un año después. (Utiliza los precios de apertura).
Al usar expresiones regulares, el signo +
indica
repetición. AsÃ, si queremos detectar un patrón que se repite un número
indefinido de veces, por ejemplo, detectar todas las C en CCCCCCCMMD, lo
haremos como sigue.
str_view("CCCCCCCMMD", pattern = "C+")
Además, la función str_extract
permite extraer los
patrones detectados. Por ejemplo
str_extract("CCCCCCCMMD", pattern = "C+")
## [1] "CCCCCCC"
Usando expresiones regulares, extrae las edades de las siguientes frases. El resultado debe ser un vector que contenga los números 57, 36, 23 y 1.
x1 <- "El paciente tiene 57 años"
x2 <- "La edad de mi hermana es 36 años"
x3 <- "A sus 23 años, tenÃa talla 36"
x4 <- "Tan solo tiene 1 año!"
Usando los datos gss_cat
, visualiza la distribución de
la variable rincome
. Para mejorar la visualización,
recodifica los niveles de esta variable para que sean
Unknown
, <$15000
y
>$15000
.