1 Crear un conjunto de columnas nuevas: día, mes, año, hora y minutos

data <- data %>%
  mutate(datetime = ymd(dteday),
         dia = day(datetime),
         mes = month(datetime),
         año = year(datetime),
         hora = hr,  
         minutos = 0)  

head(data)
## # A tibble: 6 × 23
##   instant dteday     season    yr  mnth    hr holiday weekday workingday
##     <dbl> <date>      <dbl> <dbl> <dbl> <dbl>   <dbl>   <dbl>      <dbl>
## 1       1 2011-01-01      1     0     1     0       0       6          0
## 2       2 2011-01-01      1     0     1     1       0       6          0
## 3       3 2011-01-01      1     0     1     2       0       6          0
## 4       4 2011-01-01      1     0     1     3       0       6          0
## 5       5 2011-01-01      1     0     1     4       0       6          0
## 6       6 2011-01-01      1     0     1     5       0       6          0
## # ℹ 14 more variables: weathersit <dbl>, temp <dbl>, atemp <dbl>, hum <dbl>,
## #   windspeed <dbl>, casual <dbl>, registered <dbl>, cnt <dbl>,
## #   datetime <date>, dia <int>, mes <dbl>, año <dbl>, hora <dbl>, minutos <dbl>

2 ¿Qué mes es el que tiene la mayor demanda?

# Demanda por mes
demanda_mensual <- data %>%
  group_by(mes) %>%
  summarise(demanda_total = sum(cnt))

# Tabla de demanda por mes
demanda_mensual
## # A tibble: 12 × 2
##      mes demanda_total
##    <dbl>         <dbl>
##  1     1        134933
##  2     2        151352
##  3     3        228920
##  4     4        269094
##  5     5        331686
##  6     6        346342
##  7     7        344948
##  8     8        351194
##  9     9        345991
## 10    10        322352
## 11    11        254831
## 12    12        211036
# Gráfica de demanda por mes
ggplot(demanda_mensual, aes(x = mes, y = demanda_total)) +
  geom_bar(stat = "identity") +
  labs(title = "Demanda Total por Mes", x = "Mes", y = "Demanda Total")

3 ¿Qué rango de hora es la de mayor demanda?

# Demanda por hora
demanda_horaria <- data %>%
  group_by(hora) %>%
  summarise(demanda_total = sum(cnt))

# Tabla de demanda por hora
demanda_horaria
## # A tibble: 24 × 2
##     hora demanda_total
##    <dbl>         <dbl>
##  1     0         39130
##  2     1         24164
##  3     2         16352
##  4     3          8174
##  5     4          4428
##  6     5         14261
##  7     6         55132
##  8     7        154171
##  9     8        261001
## 10     9        159438
## # ℹ 14 more rows
# Gráfica de demanda por hora
ggplot(demanda_horaria, aes(x = hora, y = demanda_total)) +
  geom_bar(stat = "identity") +
  labs(title = "Demanda Total por Hora", x = "Hora", y = "Demanda Total")

4 ¿Qué temporada es la más alta?

# Demanda por temporada
demanda_temporada <- data %>%
  group_by(season) %>%
  summarise(demanda_total = sum(cnt))

# Tabla de demanda por temporada
demanda_temporada
## # A tibble: 4 × 2
##   season demanda_total
##    <dbl>         <dbl>
## 1      1        471348
## 2      2        918589
## 3      3       1061129
## 4      4        841613

La temporada 3 es la mas alta

5 ¿A qué temperatura disminuye la demanda?

# Gráfica de temperatura vs demanda
ggplot(data, aes(x = temp, y = cnt)) +
  geom_point() +
  geom_smooth(method = "loess") +
  labs(title = "Temperatura vs Demanda", x = "Temperatura", y = "Demanda")
## `geom_smooth()` using formula = 'y ~ x'

6 ¿A qué humedad disminuye la demanda?

# Gráfica de humedad vs demanda
ggplot(data, aes(x = hum, y = cnt)) +
  geom_point() +
  geom_smooth(method = "loess") +
  labs(title = "Humedad vs Demanda", x = "Humedad", y = "Demanda")
## `geom_smooth()` using formula = 'y ~ x'

Mientras mas se acerca a 1 menor es la demanda

7 ¿Qué condiciones climáticas serían ideales para nuestra demanda?

# Gráfica de densidad bivariable de temperatura y humedad vs demanda
ggplot(data, aes(x = temp, y = hum, color = cnt)) +
  geom_point(alpha = 0.5) +
  geom_density_2d() +
  labs(title = "Temperatura y Humedad vs Demanda", x = "Temperatura", y = "Humedad")
## Warning: The following aesthetics were dropped during statistical transformation:
## colour.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
##   the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
##   variable into a factor?

8 Muestre una gráfica de la densidad de rentas

# Gráfica de densidad de rentas
ggplot(data, aes(x = cnt)) +
  geom_density() +
  labs(title = "Densidad de Rentas", x = "Cantidad", y = "Densidad")

9 ¿En promedio, cuántas personas que rentan bicicletas están registradas?

# Promedio de registrados
promedio_registrados <- mean(data$registered)
promedio_registrados
## [1] 153.7869

10 Determine la mediana de personas que rentan bicicletas y no están registradas

# Mediana de no registrados (casual)
mediana_casual <- median(data$casual)
mediana_casual
## [1] 17

11 Determine la renta total y la renta promedio por cada tipo de estación

# Total y promedio de rentas
renta_total <- sum(data$cnt)
renta_promedio <- mean(data$cnt)
renta_total
## [1] 3292679
renta_promedio
## [1] 189.4631

12 Determine y muestre una gráfica de barras de la cantidad de rentas por tipo de temporada

# Gráfica de rentas por temporada
ggplot(demanda_temporada, aes(x = season, y = demanda_total)) +
  geom_bar(stat = "identity") +
  labs(title = "Total de Rentas por Temporada", x = "Temporada", y = "Demanda Total")

13 Muestre una gráfica de la densidad por hora

# Gráfica de densidad por hora
ggplot(data, aes(x = hora)) +
  geom_density() +
  labs(title = "Densidad de Rentas por Hora", x = "Hora", y = "Densidad")

14 Muestre una gráfica de barras por día del mes

# Demanda por día del mes
demanda_diaria <- data %>%
  group_by(dia) %>%
  summarise(demanda_total = sum(cnt))

# Gráfica de demanda por día del mes
ggplot(demanda_diaria, aes(x = dia, y = demanda_total)) +
  geom_bar(stat = "identity") +
  labs(title = "Total de Rentas por Día del Mes", x = "Día", y = "Demanda Total")

15 Muestre una serie temporal de la cantidad de alquileres

# Crear una serie temporal de las rentas
data$datetime <- ymd(data$dteday)
serie_temporal <- data %>%
  group_by(datetime) %>%
  summarise(demanda_total = sum(cnt))

# Gráfica de la serie temporal
ggplot(serie_temporal, aes(x = datetime, y = demanda_total)) +
  geom_line() +
  labs(title = "Serie Temporal de Rentas", x = "Fecha", y = "Demanda Total")

16

# Gráfica de puntos de temperatura vs humedad
ggplot(data, aes(x = temp, y = hum)) +
  geom_point(alpha = 0.5) +
  labs(title = "Temperatura vs Humedad", x = "Temperatura", y = "Humedad")